diff --git a/operators.toml b/operators.toml
index adaae642c0dd4f153448a51c6a5a19ce7e2a3958..2d37cf9895f70dcb1b2a07eeac312bc2b7ffee9e 100644
--- a/operators.toml
+++ b/operators.toml
@@ -394,7 +394,7 @@ trial-space   = "P2"
 test-space    = "P2"
 form-space-args.coefficient_function_space = "P2"
 form-space-args.velocity_function_space = "P2"
-dimensions    = [2]
+dimensions    = [2, 3]
 quadrature    = 3
 loop-strategy = "sawtooth"
 optimizations = ["moveconstants", "vectorize", "quadloops"]
@@ -416,7 +416,7 @@ trial-space   = "P2"
 test-space    = "P2"
 form-space-args.diffusivityXdelta_function_space = "P2"
 form-space-args.velocity_function_space = "P2"
-dimensions    = [2]
+dimensions    = [2, 3]
 quadrature    = 3
 loop-strategy = "sawtooth"
 optimizations = ["moveconstants", "vectorize", "quadloops"]
@@ -438,7 +438,7 @@ trial-space   = "P2"
 test-space    = "P2"
 form-space-args.coefficient_function_space = "P2"
 form-space-args.velocity_function_space = "P2"
-dimensions    = [2]
+dimensions    = [2, 3]
 quadrature    = 3
 loop-strategy = "sawtooth"
 optimizations = ["moveconstants", "vectorize", "quadloops"]
diff --git a/operators/advection/CMakeLists.txt b/operators/advection/CMakeLists.txt
index 825f65cbc0b131209495b7914e44508bb89ffb5b..71b381efccb052d4b3c130ea9654d76baf961117 100644
--- a/operators/advection/CMakeLists.txt
+++ b/operators/advection/CMakeLists.txt
@@ -12,9 +12,12 @@ if(HYTEG_BUILD_WITH_AVX AND WALBERLA_DOUBLE_ACCURACY)
       avx/P2ElementwiseAdvectionAnnulusMap_apply_P2ElementwiseAdvectionAnnulusMap_macro_2D.cpp
       avx/P2ElementwiseAdvectionAnnulusMap_computeInverseDiagonalOperatorValues_P2ElementwiseAdvectionAnnulusMap_macro_2D.cpp
       avx/P2ElementwiseAdvection_apply_P2ElementwiseAdvection_macro_2D.cpp
+      avx/P2ElementwiseAdvection_apply_P2ElementwiseAdvection_macro_3D.cpp
       avx/P2ElementwiseAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseAdvection_macro_2D.cpp
+      avx/P2ElementwiseAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseAdvection_macro_3D.cpp
       noarch/P2ElementwiseAdvectionAnnulusMap_toMatrix_P2ElementwiseAdvectionAnnulusMap_macro_2D.cpp
       noarch/P2ElementwiseAdvection_toMatrix_P2ElementwiseAdvection_macro_2D.cpp
+      noarch/P2ElementwiseAdvection_toMatrix_P2ElementwiseAdvection_macro_3D.cpp
    )
 
    set_source_files_properties(
@@ -22,7 +25,9 @@ if(HYTEG_BUILD_WITH_AVX AND WALBERLA_DOUBLE_ACCURACY)
       avx/P2ElementwiseAdvectionAnnulusMap_apply_P2ElementwiseAdvectionAnnulusMap_macro_2D.cpp
       avx/P2ElementwiseAdvectionAnnulusMap_computeInverseDiagonalOperatorValues_P2ElementwiseAdvectionAnnulusMap_macro_2D.cpp
       avx/P2ElementwiseAdvection_apply_P2ElementwiseAdvection_macro_2D.cpp
+      avx/P2ElementwiseAdvection_apply_P2ElementwiseAdvection_macro_3D.cpp
       avx/P2ElementwiseAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseAdvection_macro_2D.cpp
+      avx/P2ElementwiseAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseAdvection_macro_3D.cpp
 
       PROPERTIES COMPILE_OPTIONS ${HYTEG_COMPILER_NATIVE_FLAGS}
    )
@@ -37,8 +42,11 @@ else()
       noarch/P2ElementwiseAdvectionAnnulusMap_computeInverseDiagonalOperatorValues_P2ElementwiseAdvectionAnnulusMap_macro_2D.cpp
       noarch/P2ElementwiseAdvectionAnnulusMap_toMatrix_P2ElementwiseAdvectionAnnulusMap_macro_2D.cpp
       noarch/P2ElementwiseAdvection_apply_P2ElementwiseAdvection_macro_2D.cpp
+      noarch/P2ElementwiseAdvection_apply_P2ElementwiseAdvection_macro_3D.cpp
       noarch/P2ElementwiseAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseAdvection_macro_2D.cpp
+      noarch/P2ElementwiseAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseAdvection_macro_3D.cpp
       noarch/P2ElementwiseAdvection_toMatrix_P2ElementwiseAdvection_macro_2D.cpp
+      noarch/P2ElementwiseAdvection_toMatrix_P2ElementwiseAdvection_macro_3D.cpp
    )
 endif()
 
diff --git a/operators/advection/P2ElementwiseAdvection.cpp b/operators/advection/P2ElementwiseAdvection.cpp
index 3b60e138507e06439202de824e3d38e9d99d63fa..a6249e733efabb64aee0d6e8bf34feed8c68f581 100644
--- a/operators/advection/P2ElementwiseAdvection.cpp
+++ b/operators/advection/P2ElementwiseAdvection.cpp
@@ -52,11 +52,13 @@ P2ElementwiseAdvection::P2ElementwiseAdvection( const std::shared_ptr< Primitive
                                                 size_t                                     maxLevel,
                                                 const P2Function< real_t >&                _cp,
                                                 const P2Function< real_t >&                _ux,
-                                                const P2Function< real_t >&                _uy )
+                                                const P2Function< real_t >&                _uy,
+                                                const P2Function< real_t >&                _uz )
 : Operator( storage, minLevel, maxLevel )
 , cp( _cp )
 , ux( _ux )
 , uy( _uy )
+, uz( _uz )
 {}
 
 void P2ElementwiseAdvection::apply( const P2Function< real_t >& src,
@@ -71,7 +73,23 @@ void P2ElementwiseAdvection::apply( const P2Function< real_t >& src,
    this->timingTree_->start( "pre-communication" );
    if ( this->storage_->hasGlobalCells() )
    {
-      WALBERLA_ABORT( "Not implemented." );
+      // 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 );
+      cp.communicate< Face, Cell >( level );
+      cp.communicate< Edge, Cell >( level );
+      cp.communicate< Vertex, Cell >( level );
+      ux.communicate< Face, Cell >( level );
+      ux.communicate< Edge, Cell >( level );
+      ux.communicate< Vertex, Cell >( level );
+      uy.communicate< Face, Cell >( level );
+      uy.communicate< Edge, Cell >( level );
+      uy.communicate< Vertex, Cell >( level );
+      uz.communicate< Face, Cell >( level );
+      uz.communicate< Edge, Cell >( level );
+      uz.communicate< Vertex, Cell >( level );
    }
    else
    {
@@ -79,6 +97,7 @@ void P2ElementwiseAdvection::apply( const P2Function< real_t >& src,
       communication::syncFunctionBetweenPrimitives( cp, level, communication::syncDirection_t::LOW2HIGH );
       communication::syncFunctionBetweenPrimitives( ux, level, communication::syncDirection_t::LOW2HIGH );
       communication::syncFunctionBetweenPrimitives( uy, level, communication::syncDirection_t::LOW2HIGH );
+      communication::syncFunctionBetweenPrimitives( uz, level, communication::syncDirection_t::LOW2HIGH );
    }
    this->timingTree_->stop( "pre-communication" );
 
@@ -93,7 +112,103 @@ void P2ElementwiseAdvection::apply( const P2Function< real_t >& src,
 
    if ( storage_->hasGlobalCells() )
    {
-      WALBERLA_ABORT( "Not implemented." );
+      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_dstVertex = cell.getData( dst.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_dstEdge   = cell.getData( dst.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_cpVertex  = cell.getData( cp.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_cpEdge    = cell.getData( cp.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uxVertex  = cell.getData( ux.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uxEdge    = cell.getData( ux.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uyVertex  = cell.getData( uy.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uyEdge    = cell.getData( uy.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uzVertex  = cell.getData( uz.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uzEdge    = cell.getData( uz.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_dstVertex[arrayIdx] = real_t( 0 );
+            }
+         }
+         edgedof::macrocell::setBoundaryToZero( level, cell, dst.getEdgeDoFFunction().getCellDataID() );
+
+         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_P2ElementwiseAdvection_macro_3D(
+
+             _data_cpEdge,
+             _data_cpVertex,
+             _data_dstEdge,
+             _data_dstVertex,
+             _data_srcEdge,
+             _data_srcVertex,
+             _data_uxEdge,
+             _data_uxVertex,
+             _data_uyEdge,
+             _data_uyVertex,
+             _data_uzEdge,
+             _data_uzVertex,
+             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.getVertexDoFFunction().communicateAdditively< Cell, Face >(
+          level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      dst.getVertexDoFFunction().communicateAdditively< Cell, Edge >(
+          level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      dst.getVertexDoFFunction().communicateAdditively< Cell, Vertex >(
+          level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      dst.getEdgeDoFFunction().communicateAdditively< Cell, Face >(
+          level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      dst.getEdgeDoFFunction().communicateAdditively< Cell, Edge >(
+          level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      this->timingTree_->stop( "post-communication" );
    }
    else
    {
@@ -214,9 +329,78 @@ void P2ElementwiseAdvection::toMatrix( const std::shared_ptr< SparseMatrixProxy
       uy.communicate< Face, Cell >( level );
       uy.communicate< Edge, Cell >( level );
       uy.communicate< Vertex, Cell >( level );
+      uz.communicate< Face, Cell >( level );
+      uz.communicate< Edge, Cell >( level );
+      uz.communicate< Vertex, Cell >( level );
       this->timingTree_->stop( "pre-communication" );
 
-      WALBERLA_ABORT( "Not implemented." );
+      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_dstVertex = cell.getData( dst.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         idx_t*  _data_dstEdge   = cell.getData( dst.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_cpVertex  = cell.getData( cp.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_cpEdge    = cell.getData( cp.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uxVertex  = cell.getData( ux.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uxEdge    = cell.getData( ux.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uyVertex  = cell.getData( uy.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uyEdge    = cell.getData( uy.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uzVertex  = cell.getData( uz.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uzEdge    = cell.getData( uz.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_P2ElementwiseAdvection_macro_3D(
+
+             _data_cpEdge,
+             _data_cpVertex,
+             _data_dstEdge,
+             _data_dstVertex,
+             _data_srcEdge,
+             _data_srcVertex,
+             _data_uxEdge,
+             _data_uxVertex,
+             _data_uyEdge,
+             _data_uyVertex,
+             _data_uzEdge,
+             _data_uzVertex,
+             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
    {
@@ -224,6 +408,7 @@ void P2ElementwiseAdvection::toMatrix( const std::shared_ptr< SparseMatrixProxy
       communication::syncFunctionBetweenPrimitives( cp, level, communication::syncDirection_t::LOW2HIGH );
       communication::syncFunctionBetweenPrimitives( ux, level, communication::syncDirection_t::LOW2HIGH );
       communication::syncFunctionBetweenPrimitives( uy, level, communication::syncDirection_t::LOW2HIGH );
+      communication::syncFunctionBetweenPrimitives( uz, level, communication::syncDirection_t::LOW2HIGH );
       this->timingTree_->stop( "pre-communication" );
 
       for ( auto& it : storage_->getFaces() )
@@ -241,6 +426,8 @@ void P2ElementwiseAdvection::toMatrix( const std::shared_ptr< SparseMatrixProxy
          real_t* _data_uxEdge    = face.getData( ux.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
          real_t* _data_uyVertex  = face.getData( uy.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
          real_t* _data_uyEdge    = face.getData( uy.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
+         real_t* _data_uzVertex  = face.getData( uz.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
+         real_t* _data_uzEdge    = face.getData( uz.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 );
@@ -305,9 +492,86 @@ void P2ElementwiseAdvection::computeInverseDiagonalOperatorValues()
          uy.communicate< Face, Cell >( level );
          uy.communicate< Edge, Cell >( level );
          uy.communicate< Vertex, Cell >( level );
+         uz.communicate< Face, Cell >( level );
+         uz.communicate< Edge, Cell >( level );
+         uz.communicate< Vertex, Cell >( level );
          this->timingTree_->stop( "pre-communication" );
 
-         WALBERLA_ABORT( "Not implemented." );
+         for ( auto& it : storage_->getCells() )
+         {
+            Cell& cell = *it.second;
+
+            // get hold of the actual numerical data
+            real_t* _data_invDiag_Vertex =
+                cell.getData( ( *invDiag_ ).getVertexDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_invDiag_Edge = cell.getData( ( *invDiag_ ).getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_cpVertex     = cell.getData( cp.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_cpEdge       = cell.getData( cp.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_uxVertex     = cell.getData( ux.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_uxEdge       = cell.getData( ux.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_uyVertex     = cell.getData( uy.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_uyEdge       = cell.getData( uy.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_uzVertex     = cell.getData( uz.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_uzEdge       = cell.getData( uz.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" );
+
+            computeInverseDiagonalOperatorValues_P2ElementwiseAdvection_macro_3D(
+
+                _data_cpEdge,
+                _data_cpVertex,
+                _data_invDiag_Edge,
+                _data_invDiag_Vertex,
+                _data_uxEdge,
+                _data_uxVertex,
+                _data_uyEdge,
+                _data_uyVertex,
+                _data_uzEdge,
+                _data_uzVertex,
+                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!
+         ( *invDiag_ ).getVertexDoFFunction().communicateAdditively< Cell, Face >( level );
+         ( *invDiag_ ).getVertexDoFFunction().communicateAdditively< Cell, Edge >( level );
+         ( *invDiag_ ).getVertexDoFFunction().communicateAdditively< Cell, Vertex >( level );
+         ( *invDiag_ ).getEdgeDoFFunction().communicateAdditively< Cell, Face >( level );
+         ( *invDiag_ ).getEdgeDoFFunction().communicateAdditively< Cell, Edge >( level );
+         this->timingTree_->stop( "post-communication" );
          ( *invDiag_ ).invertElementwise( level );
       }
       else
@@ -316,6 +580,7 @@ void P2ElementwiseAdvection::computeInverseDiagonalOperatorValues()
          communication::syncFunctionBetweenPrimitives( cp, level, communication::syncDirection_t::LOW2HIGH );
          communication::syncFunctionBetweenPrimitives( ux, level, communication::syncDirection_t::LOW2HIGH );
          communication::syncFunctionBetweenPrimitives( uy, level, communication::syncDirection_t::LOW2HIGH );
+         communication::syncFunctionBetweenPrimitives( uz, level, communication::syncDirection_t::LOW2HIGH );
          this->timingTree_->stop( "pre-communication" );
 
          for ( auto& it : storage_->getFaces() )
@@ -332,6 +597,8 @@ void P2ElementwiseAdvection::computeInverseDiagonalOperatorValues()
             real_t* _data_uxEdge       = face.getData( ux.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
             real_t* _data_uyVertex     = face.getData( uy.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
             real_t* _data_uyEdge       = face.getData( uy.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
+            real_t* _data_uzVertex     = face.getData( uz.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
+            real_t* _data_uzEdge       = face.getData( uz.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 );
diff --git a/operators/advection/P2ElementwiseAdvection.hpp b/operators/advection/P2ElementwiseAdvection.hpp
index 88d58e6a7afa3ccf0fa354bca06954bdcf8a5b47..9f914da0d53b7b702e9a1d4f7371a17479f1b984 100644
--- a/operators/advection/P2ElementwiseAdvection.hpp
+++ b/operators/advection/P2ElementwiseAdvection.hpp
@@ -66,7 +66,8 @@ class P2ElementwiseAdvection : public Operator< P2Function< real_t >, P2Function
                            size_t                                     maxLevel,
                            const P2Function< real_t >&                _cp,
                            const P2Function< real_t >&                _ux,
-                           const P2Function< real_t >&                _uy );
+                           const P2Function< real_t >&                _uy,
+                           const P2Function< real_t >&                _uz );
 
    void apply( const P2Function< real_t >& src,
                const P2Function< real_t >& dst,
@@ -115,6 +116,43 @@ class P2ElementwiseAdvection : public Operator< P2Function< real_t >, P2Function
                                                int64_t          micro_edges_per_macro_edge,
                                                real_t           micro_edges_per_macro_edge_float ) const;
 
+   /// Integral: P2ElementwiseAdvection
+   /// - volume element:  tetrahedron, dim: 3, vertices: 4, spacedim: 3
+   /// - kernel type:     apply
+   /// - loop strategy:   SAWTOOTH
+   /// - quadrature rule: Hammer-Marlowe-Stroud 3 | points: 5, degree: 3
+   /// - blending map:    IdentityMap
+   /// - operations per element:
+   ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
+   /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
+   ///   1303    1412      36       0      0              0                 0              1
+   void apply_P2ElementwiseAdvection_macro_3D( real_t* RESTRICT _data_cpEdge,
+                                               real_t* RESTRICT _data_cpVertex,
+                                               real_t* RESTRICT _data_dstEdge,
+                                               real_t* RESTRICT _data_dstVertex,
+                                               real_t* RESTRICT _data_srcEdge,
+                                               real_t* RESTRICT _data_srcVertex,
+                                               real_t* RESTRICT _data_uxEdge,
+                                               real_t* RESTRICT _data_uxVertex,
+                                               real_t* RESTRICT _data_uyEdge,
+                                               real_t* RESTRICT _data_uyVertex,
+                                               real_t* RESTRICT _data_uzEdge,
+                                               real_t* RESTRICT _data_uzVertex,
+                                               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;
+
    /// Integral: P2ElementwiseAdvection
    /// - volume element:  triangle, dim: 2, vertices: 3, spacedim: 2
    /// - kernel type:     toMatrix
@@ -145,6 +183,44 @@ class P2ElementwiseAdvection : public Operator< P2Function< real_t >, P2Function
                                                   int64_t                              micro_edges_per_macro_edge,
                                                   real_t                               micro_edges_per_macro_edge_float ) const;
 
+   /// Integral: P2ElementwiseAdvection
+   /// - volume element:  tetrahedron, dim: 3, vertices: 4, spacedim: 3
+   /// - kernel type:     toMatrix
+   /// - loop strategy:   SAWTOOTH
+   /// - quadrature rule: Hammer-Marlowe-Stroud 3 | points: 5, degree: 3
+   /// - blending map:    IdentityMap
+   /// - operations per element:
+   ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
+   /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
+   ///   1203    1312      36       0      0              0                 0              4
+   void toMatrix_P2ElementwiseAdvection_macro_3D( real_t* RESTRICT                     _data_cpEdge,
+                                                  real_t* RESTRICT                     _data_cpVertex,
+                                                  idx_t* RESTRICT                      _data_dstEdge,
+                                                  idx_t* RESTRICT                      _data_dstVertex,
+                                                  idx_t* RESTRICT                      _data_srcEdge,
+                                                  idx_t* RESTRICT                      _data_srcVertex,
+                                                  real_t* RESTRICT                     _data_uxEdge,
+                                                  real_t* RESTRICT                     _data_uxVertex,
+                                                  real_t* RESTRICT                     _data_uyEdge,
+                                                  real_t* RESTRICT                     _data_uyVertex,
+                                                  real_t* RESTRICT                     _data_uzEdge,
+                                                  real_t* RESTRICT                     _data_uzVertex,
+                                                  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;
+
    /// Integral: P2ElementwiseAdvection
    /// - volume element:  triangle, dim: 2, vertices: 3, spacedim: 2
    /// - kernel type:     computeInverseDiagonalOperatorValues
@@ -172,10 +248,46 @@ class P2ElementwiseAdvection : public Operator< P2Function< real_t >, P2Function
                                                                               int64_t          micro_edges_per_macro_edge,
                                                                               real_t micro_edges_per_macro_edge_float ) const;
 
+   /// Integral: P2ElementwiseAdvection
+   /// - volume element:  tetrahedron, dim: 3, vertices: 4, spacedim: 3
+   /// - kernel type:     computeInverseDiagonalOperatorValues
+   /// - loop strategy:   SAWTOOTH
+   /// - quadrature rule: Hammer-Marlowe-Stroud 3 | points: 5, degree: 3
+   /// - blending map:    IdentityMap
+   /// - operations per element:
+   ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
+   /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
+   ///    763     862      36       0      0              0                 0              1
+   void computeInverseDiagonalOperatorValues_P2ElementwiseAdvection_macro_3D( real_t* RESTRICT _data_cpEdge,
+                                                                              real_t* RESTRICT _data_cpVertex,
+                                                                              real_t* RESTRICT _data_invDiag_Edge,
+                                                                              real_t* RESTRICT _data_invDiag_Vertex,
+                                                                              real_t* RESTRICT _data_uxEdge,
+                                                                              real_t* RESTRICT _data_uxVertex,
+                                                                              real_t* RESTRICT _data_uyEdge,
+                                                                              real_t* RESTRICT _data_uyVertex,
+                                                                              real_t* RESTRICT _data_uzEdge,
+                                                                              real_t* RESTRICT _data_uzVertex,
+                                                                              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;
+
    std::shared_ptr< P2Function< real_t > > invDiag_;
    P2Function< real_t >                    cp;
    P2Function< real_t >                    ux;
    P2Function< real_t >                    uy;
+   P2Function< real_t >                    uz;
 };
 
 } // namespace operatorgeneration
diff --git a/operators/advection/avx/P2ElementwiseAdvection_apply_P2ElementwiseAdvection_macro_3D.cpp b/operators/advection/avx/P2ElementwiseAdvection_apply_P2ElementwiseAdvection_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..ad552368b0956119a3eb33849c1bda56b3f5b596
--- /dev/null
+++ b/operators/advection/avx/P2ElementwiseAdvection_apply_P2ElementwiseAdvection_macro_3D.cpp
@@ -0,0 +1,6120 @@
+/*
+* 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 Operator Generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ElementwiseAdvection.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ElementwiseAdvection::apply_P2ElementwiseAdvection_macro_3D( real_t * RESTRICT  _data_cpEdge, real_t * RESTRICT  _data_cpVertex, real_t * RESTRICT  _data_dstEdge, real_t * RESTRICT  _data_dstVertex, real_t * RESTRICT  _data_srcEdge, real_t * RESTRICT  _data_srcVertex, real_t * RESTRICT  _data_uxEdge, real_t * RESTRICT  _data_uxVertex, real_t * RESTRICT  _data_uyEdge, real_t * RESTRICT  _data_uyVertex, real_t * RESTRICT  _data_uzEdge, real_t * RESTRICT  _data_uzVertex, 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 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_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 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_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 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_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 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP;
+       const real_t tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP);
+       const real_t jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP);
+       const real_t jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP);
+       const real_t jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP);
+       const real_t jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP);
+       {
+          /* CellType.WHITE_UP */
+          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 cp_dof_0 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_1 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_2 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_3 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_4 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_5 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_6 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_7 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_8 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_9 = _mm256_loadu_pd(& _data_cpEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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);
+                __m256d q_acc_4_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_1),_mm256_mul_pd(tmp_qloop_13,ux_dof_2)),_mm256_mul_pd(tmp_qloop_16,ux_dof_3)),_mm256_mul_pd(tmp_qloop_17,ux_dof_7)),_mm256_mul_pd(tmp_qloop_18,ux_dof_8)),_mm256_mul_pd(tmp_qloop_20,ux_dof_9)),_mm256_mul_pd(tmp_qloop_21,ux_dof_0)),_mm256_mul_pd(tmp_qloop_5,ux_dof_6)),_mm256_mul_pd(tmp_qloop_6,ux_dof_5)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_1),_mm256_mul_pd(tmp_qloop_13,uy_dof_2)),_mm256_mul_pd(tmp_qloop_16,uy_dof_3)),_mm256_mul_pd(tmp_qloop_17,uy_dof_7)),_mm256_mul_pd(tmp_qloop_18,uy_dof_8)),_mm256_mul_pd(tmp_qloop_20,uy_dof_9)),_mm256_mul_pd(tmp_qloop_21,uy_dof_0)),_mm256_mul_pd(tmp_qloop_5,uy_dof_6)),_mm256_mul_pd(tmp_qloop_6,uy_dof_5)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_1),_mm256_mul_pd(tmp_qloop_13,uz_dof_2)),_mm256_mul_pd(tmp_qloop_16,uz_dof_3)),_mm256_mul_pd(tmp_qloop_17,uz_dof_7)),_mm256_mul_pd(tmp_qloop_18,uz_dof_8)),_mm256_mul_pd(tmp_qloop_20,uz_dof_9)),_mm256_mul_pd(tmp_qloop_21,uz_dof_0)),_mm256_mul_pd(tmp_qloop_5,uz_dof_6)),_mm256_mul_pd(tmp_qloop_6,uz_dof_5)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4));
+                   const __m256d tmp_qloop_25 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))));
+                   const __m256d tmp_qloop_26 = _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(cp_dof_0,tmp_qloop_21),_mm256_mul_pd(cp_dof_1,tmp_qloop_10)),_mm256_mul_pd(cp_dof_2,tmp_qloop_13)),_mm256_mul_pd(cp_dof_3,tmp_qloop_16)),_mm256_mul_pd(cp_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_dof_5,tmp_qloop_6)),_mm256_mul_pd(cp_dof_6,tmp_qloop_5)),_mm256_mul_pd(cp_dof_7,tmp_qloop_17)),_mm256_mul_pd(cp_dof_8,tmp_qloop_18)),_mm256_mul_pd(cp_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP));
+                   const __m256d tmp_qloop_27 = _mm256_mul_pd(tmp_qloop_21,tmp_qloop_26);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_29 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)));
+                   const __m256d tmp_qloop_30 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_31 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_30),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_30),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_30),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)));
+                   const __m256d tmp_qloop_32 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_33 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_32),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_32),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_32),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)));
+                   const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP));
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP));
+                   const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_34,tmp_qloop_35)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_36,tmp_qloop_37))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_38,tmp_qloop_39)));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP));
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46)));
+                   const __m256d tmp_qloop_48 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP));
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP));
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP));
+                   const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP));
+                   const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP));
+                   const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP));
+                   const __m256d tmp_qloop_54 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_48,tmp_qloop_49)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_50,tmp_qloop_51))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_52,tmp_qloop_53)));
+                   const __m256d tmp_qloop_55 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_56 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))));
+                   const __m256d tmp_qloop_57 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_58 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_51,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)))));
+                   const __m256d tmp_qloop_60 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_52,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)))));
+                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_10,tmp_qloop_26);
+                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_26);
+                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_16,tmp_qloop_26);
+                   const __m256d tmp_qloop_65 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_7);
+                   const __m256d tmp_qloop_66 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_6);
+                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_5);
+                   const __m256d tmp_qloop_68 = _mm256_mul_pd(tmp_qloop_17,tmp_qloop_26);
+                   const __m256d tmp_qloop_69 = _mm256_mul_pd(tmp_qloop_18,tmp_qloop_26);
+                   const __m256d tmp_qloop_70 = _mm256_mul_pd(tmp_qloop_20,tmp_qloop_26);
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_27);
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_29);
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_31);
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_33);
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_40);
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_47);
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_54);
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_56);
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_59);
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_61);
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_62);
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_62);
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_62);
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_62);
+                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_62);
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_62);
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_62);
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_62);
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_62);
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_62);
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_63);
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_63);
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_63);
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_63);
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_63);
+                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_63);
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_63);
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_63);
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_63);
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_63);
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_64);
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_64);
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_64);
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_64);
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_64);
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_64);
+                   const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_64);
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_64);
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_64);
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_64);
+                   const __m256d q_tmp_4_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_65);
+                   const __m256d q_tmp_4_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_65);
+                   const __m256d q_tmp_4_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_65);
+                   const __m256d q_tmp_4_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_65);
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_65);
+                   const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_65);
+                   const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_65);
+                   const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_65);
+                   const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_65);
+                   const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_65);
+                   const __m256d q_tmp_5_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_66);
+                   const __m256d q_tmp_5_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_66);
+                   const __m256d q_tmp_5_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_66);
+                   const __m256d q_tmp_5_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_66);
+                   const __m256d q_tmp_5_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_66);
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_66);
+                   const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_66);
+                   const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_66);
+                   const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_66);
+                   const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_66);
+                   const __m256d q_tmp_6_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_67);
+                   const __m256d q_tmp_6_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_67);
+                   const __m256d q_tmp_6_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_67);
+                   const __m256d q_tmp_6_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_67);
+                   const __m256d q_tmp_6_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_67);
+                   const __m256d q_tmp_6_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_67);
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_67);
+                   const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_67);
+                   const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_67);
+                   const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_67);
+                   const __m256d q_tmp_7_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_68);
+                   const __m256d q_tmp_7_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_68);
+                   const __m256d q_tmp_7_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_68);
+                   const __m256d q_tmp_7_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_68);
+                   const __m256d q_tmp_7_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_68);
+                   const __m256d q_tmp_7_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_68);
+                   const __m256d q_tmp_7_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_68);
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_68);
+                   const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_68);
+                   const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_68);
+                   const __m256d q_tmp_8_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_69);
+                   const __m256d q_tmp_8_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_69);
+                   const __m256d q_tmp_8_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_69);
+                   const __m256d q_tmp_8_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_69);
+                   const __m256d q_tmp_8_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_69);
+                   const __m256d q_tmp_8_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_69);
+                   const __m256d q_tmp_8_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_69);
+                   const __m256d q_tmp_8_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_69);
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_69);
+                   const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_69);
+                   const __m256d q_tmp_9_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_70);
+                   const __m256d q_tmp_9_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_70);
+                   const __m256d q_tmp_9_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_70);
+                   const __m256d q_tmp_9_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_70);
+                   const __m256d q_tmp_9_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_70);
+                   const __m256d q_tmp_9_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_70);
+                   const __m256d q_tmp_9_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_70);
+                   const __m256d q_tmp_9_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_70);
+                   const __m256d q_tmp_9_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_70);
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_70);
+                   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);
+                   q_acc_4_0 = _mm256_add_pd(q_acc_4_0,q_tmp_4_0);
+                   q_acc_4_1 = _mm256_add_pd(q_acc_4_1,q_tmp_4_1);
+                   q_acc_4_2 = _mm256_add_pd(q_acc_4_2,q_tmp_4_2);
+                   q_acc_4_3 = _mm256_add_pd(q_acc_4_3,q_tmp_4_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5);
+                   q_acc_4_6 = _mm256_add_pd(q_acc_4_6,q_tmp_4_6);
+                   q_acc_4_7 = _mm256_add_pd(q_acc_4_7,q_tmp_4_7);
+                   q_acc_4_8 = _mm256_add_pd(q_acc_4_8,q_tmp_4_8);
+                   q_acc_4_9 = _mm256_add_pd(q_acc_4_9,q_tmp_4_9);
+                   q_acc_5_0 = _mm256_add_pd(q_acc_5_0,q_tmp_5_0);
+                   q_acc_5_1 = _mm256_add_pd(q_acc_5_1,q_tmp_5_1);
+                   q_acc_5_2 = _mm256_add_pd(q_acc_5_2,q_tmp_5_2);
+                   q_acc_5_3 = _mm256_add_pd(q_acc_5_3,q_tmp_5_3);
+                   q_acc_5_4 = _mm256_add_pd(q_acc_5_4,q_tmp_5_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_5_6 = _mm256_add_pd(q_acc_5_6,q_tmp_5_6);
+                   q_acc_5_7 = _mm256_add_pd(q_acc_5_7,q_tmp_5_7);
+                   q_acc_5_8 = _mm256_add_pd(q_acc_5_8,q_tmp_5_8);
+                   q_acc_5_9 = _mm256_add_pd(q_acc_5_9,q_tmp_5_9);
+                   q_acc_6_0 = _mm256_add_pd(q_acc_6_0,q_tmp_6_0);
+                   q_acc_6_1 = _mm256_add_pd(q_acc_6_1,q_tmp_6_1);
+                   q_acc_6_2 = _mm256_add_pd(q_acc_6_2,q_tmp_6_2);
+                   q_acc_6_3 = _mm256_add_pd(q_acc_6_3,q_tmp_6_3);
+                   q_acc_6_4 = _mm256_add_pd(q_acc_6_4,q_tmp_6_4);
+                   q_acc_6_5 = _mm256_add_pd(q_acc_6_5,q_tmp_6_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_6_7 = _mm256_add_pd(q_acc_6_7,q_tmp_6_7);
+                   q_acc_6_8 = _mm256_add_pd(q_acc_6_8,q_tmp_6_8);
+                   q_acc_6_9 = _mm256_add_pd(q_acc_6_9,q_tmp_6_9);
+                   q_acc_7_0 = _mm256_add_pd(q_acc_7_0,q_tmp_7_0);
+                   q_acc_7_1 = _mm256_add_pd(q_acc_7_1,q_tmp_7_1);
+                   q_acc_7_2 = _mm256_add_pd(q_acc_7_2,q_tmp_7_2);
+                   q_acc_7_3 = _mm256_add_pd(q_acc_7_3,q_tmp_7_3);
+                   q_acc_7_4 = _mm256_add_pd(q_acc_7_4,q_tmp_7_4);
+                   q_acc_7_5 = _mm256_add_pd(q_acc_7_5,q_tmp_7_5);
+                   q_acc_7_6 = _mm256_add_pd(q_acc_7_6,q_tmp_7_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_7_8 = _mm256_add_pd(q_acc_7_8,q_tmp_7_8);
+                   q_acc_7_9 = _mm256_add_pd(q_acc_7_9,q_tmp_7_9);
+                   q_acc_8_0 = _mm256_add_pd(q_acc_8_0,q_tmp_8_0);
+                   q_acc_8_1 = _mm256_add_pd(q_acc_8_1,q_tmp_8_1);
+                   q_acc_8_2 = _mm256_add_pd(q_acc_8_2,q_tmp_8_2);
+                   q_acc_8_3 = _mm256_add_pd(q_acc_8_3,q_tmp_8_3);
+                   q_acc_8_4 = _mm256_add_pd(q_acc_8_4,q_tmp_8_4);
+                   q_acc_8_5 = _mm256_add_pd(q_acc_8_5,q_tmp_8_5);
+                   q_acc_8_6 = _mm256_add_pd(q_acc_8_6,q_tmp_8_6);
+                   q_acc_8_7 = _mm256_add_pd(q_acc_8_7,q_tmp_8_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_8_9 = _mm256_add_pd(q_acc_8_9,q_tmp_8_9);
+                   q_acc_9_0 = _mm256_add_pd(q_acc_9_0,q_tmp_9_0);
+                   q_acc_9_1 = _mm256_add_pd(q_acc_9_1,q_tmp_9_1);
+                   q_acc_9_2 = _mm256_add_pd(q_acc_9_2,q_tmp_9_2);
+                   q_acc_9_3 = _mm256_add_pd(q_acc_9_3,q_tmp_9_3);
+                   q_acc_9_4 = _mm256_add_pd(q_acc_9_4,q_tmp_9_4);
+                   q_acc_9_5 = _mm256_add_pd(q_acc_9_5,q_tmp_9_5);
+                   q_acc_9_6 = _mm256_add_pd(q_acc_9_6,q_tmp_9_6);
+                   q_acc_9_7 = _mm256_add_pd(q_acc_9_7,q_tmp_9_7);
+                   q_acc_9_8 = _mm256_add_pd(q_acc_9_8,q_tmp_9_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_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));
+                const __m256d elMatVec_4 = _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_4_0,src_dof_0),_mm256_mul_pd(q_acc_4_1,src_dof_1)),_mm256_mul_pd(q_acc_4_2,src_dof_2)),_mm256_mul_pd(q_acc_4_3,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)),_mm256_mul_pd(q_acc_4_6,src_dof_6)),_mm256_mul_pd(q_acc_4_7,src_dof_7)),_mm256_mul_pd(q_acc_4_8,src_dof_8)),_mm256_mul_pd(q_acc_4_9,src_dof_9));
+                const __m256d elMatVec_5 = _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_5_0,src_dof_0),_mm256_mul_pd(q_acc_5_1,src_dof_1)),_mm256_mul_pd(q_acc_5_2,src_dof_2)),_mm256_mul_pd(q_acc_5_3,src_dof_3)),_mm256_mul_pd(q_acc_5_4,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)),_mm256_mul_pd(q_acc_5_6,src_dof_6)),_mm256_mul_pd(q_acc_5_7,src_dof_7)),_mm256_mul_pd(q_acc_5_8,src_dof_8)),_mm256_mul_pd(q_acc_5_9,src_dof_9));
+                const __m256d elMatVec_6 = _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_6_0,src_dof_0),_mm256_mul_pd(q_acc_6_1,src_dof_1)),_mm256_mul_pd(q_acc_6_2,src_dof_2)),_mm256_mul_pd(q_acc_6_3,src_dof_3)),_mm256_mul_pd(q_acc_6_4,src_dof_4)),_mm256_mul_pd(q_acc_6_5,src_dof_5)),_mm256_mul_pd(q_acc_6_6,src_dof_6)),_mm256_mul_pd(q_acc_6_7,src_dof_7)),_mm256_mul_pd(q_acc_6_8,src_dof_8)),_mm256_mul_pd(q_acc_6_9,src_dof_9));
+                const __m256d elMatVec_7 = _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_7_0,src_dof_0),_mm256_mul_pd(q_acc_7_1,src_dof_1)),_mm256_mul_pd(q_acc_7_2,src_dof_2)),_mm256_mul_pd(q_acc_7_3,src_dof_3)),_mm256_mul_pd(q_acc_7_4,src_dof_4)),_mm256_mul_pd(q_acc_7_5,src_dof_5)),_mm256_mul_pd(q_acc_7_6,src_dof_6)),_mm256_mul_pd(q_acc_7_7,src_dof_7)),_mm256_mul_pd(q_acc_7_8,src_dof_8)),_mm256_mul_pd(q_acc_7_9,src_dof_9));
+                const __m256d elMatVec_8 = _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_8_0,src_dof_0),_mm256_mul_pd(q_acc_8_1,src_dof_1)),_mm256_mul_pd(q_acc_8_2,src_dof_2)),_mm256_mul_pd(q_acc_8_3,src_dof_3)),_mm256_mul_pd(q_acc_8_4,src_dof_4)),_mm256_mul_pd(q_acc_8_5,src_dof_5)),_mm256_mul_pd(q_acc_8_6,src_dof_6)),_mm256_mul_pd(q_acc_8_7,src_dof_7)),_mm256_mul_pd(q_acc_8_8,src_dof_8)),_mm256_mul_pd(q_acc_8_9,src_dof_9));
+                const __m256d elMatVec_9 = _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_9_0,src_dof_0),_mm256_mul_pd(q_acc_9_1,src_dof_1)),_mm256_mul_pd(q_acc_9_2,src_dof_2)),_mm256_mul_pd(q_acc_9_3,src_dof_3)),_mm256_mul_pd(q_acc_9_4,src_dof_4)),_mm256_mul_pd(q_acc_9_5,src_dof_5)),_mm256_mul_pd(q_acc_9_6,src_dof_6)),_mm256_mul_pd(q_acc_9_7,src_dof_7)),_mm256_mul_pd(q_acc_9_8,src_dof_8)),_mm256_mul_pd(q_acc_9_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_6,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_7,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_8,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_9,_mm256_loadu_pd(& _data_dstEdge[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))])));
+             }
+             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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+                real_t q_acc_4_0 = 0.0;
+                real_t q_acc_4_1 = 0.0;
+                real_t q_acc_4_2 = 0.0;
+                real_t q_acc_4_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_4_5 = 0.0;
+                real_t q_acc_4_6 = 0.0;
+                real_t q_acc_4_7 = 0.0;
+                real_t q_acc_4_8 = 0.0;
+                real_t q_acc_4_9 = 0.0;
+                real_t q_acc_5_0 = 0.0;
+                real_t q_acc_5_1 = 0.0;
+                real_t q_acc_5_2 = 0.0;
+                real_t q_acc_5_3 = 0.0;
+                real_t q_acc_5_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_5_6 = 0.0;
+                real_t q_acc_5_7 = 0.0;
+                real_t q_acc_5_8 = 0.0;
+                real_t q_acc_5_9 = 0.0;
+                real_t q_acc_6_0 = 0.0;
+                real_t q_acc_6_1 = 0.0;
+                real_t q_acc_6_2 = 0.0;
+                real_t q_acc_6_3 = 0.0;
+                real_t q_acc_6_4 = 0.0;
+                real_t q_acc_6_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_6_7 = 0.0;
+                real_t q_acc_6_8 = 0.0;
+                real_t q_acc_6_9 = 0.0;
+                real_t q_acc_7_0 = 0.0;
+                real_t q_acc_7_1 = 0.0;
+                real_t q_acc_7_2 = 0.0;
+                real_t q_acc_7_3 = 0.0;
+                real_t q_acc_7_4 = 0.0;
+                real_t q_acc_7_5 = 0.0;
+                real_t q_acc_7_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_7_8 = 0.0;
+                real_t q_acc_7_9 = 0.0;
+                real_t q_acc_8_0 = 0.0;
+                real_t q_acc_8_1 = 0.0;
+                real_t q_acc_8_2 = 0.0;
+                real_t q_acc_8_3 = 0.0;
+                real_t q_acc_8_4 = 0.0;
+                real_t q_acc_8_5 = 0.0;
+                real_t q_acc_8_6 = 0.0;
+                real_t q_acc_8_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_8_9 = 0.0;
+                real_t q_acc_9_0 = 0.0;
+                real_t q_acc_9_1 = 0.0;
+                real_t q_acc_9_2 = 0.0;
+                real_t q_acc_9_3 = 0.0;
+                real_t q_acc_9_4 = 0.0;
+                real_t q_acc_9_5 = 0.0;
+                real_t q_acc_9_6 = 0.0;
+                real_t q_acc_9_7 = 0.0;
+                real_t q_acc_9_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                   const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_4);
+                   const real_t tmp_qloop_26 = abs_det_jac_affine_WHITE_UP*(cp_dof_0*tmp_qloop_21 + cp_dof_1*tmp_qloop_10 + cp_dof_2*tmp_qloop_13 + cp_dof_3*tmp_qloop_16 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_6 + cp_dof_6*tmp_qloop_5 + cp_dof_7*tmp_qloop_17 + cp_dof_8*tmp_qloop_18 + cp_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_27 = tmp_qloop_21*tmp_qloop_26;
+                   const real_t tmp_qloop_28 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_29 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_24*tmp_qloop_28;
+                   const real_t tmp_qloop_30 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_31 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_22*tmp_qloop_30 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_23*tmp_qloop_30 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_24*tmp_qloop_30;
+                   const real_t tmp_qloop_32 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_33 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_22*tmp_qloop_32 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_23*tmp_qloop_32 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_24*tmp_qloop_32;
+                   const real_t tmp_qloop_34 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_35 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_36 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_37 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_38 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_39 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_40 = tmp_qloop_22*(tmp_qloop_34 + tmp_qloop_35) + tmp_qloop_23*(tmp_qloop_36 + tmp_qloop_37) + tmp_qloop_24*(tmp_qloop_38 + tmp_qloop_39);
+                   const real_t tmp_qloop_41 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_42 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_43 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_44 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_45 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_47 = tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46);
+                   const real_t tmp_qloop_48 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_49 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_50 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_51 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_52 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_53 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_54 = tmp_qloop_22*(tmp_qloop_48 + tmp_qloop_49) + tmp_qloop_23*(tmp_qloop_50 + tmp_qloop_51) + tmp_qloop_24*(tmp_qloop_52 + tmp_qloop_53);
+                   const real_t tmp_qloop_55 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_56 = tmp_qloop_22*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_55 - tmp_qloop_35 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_55 - tmp_qloop_37 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_55 - tmp_qloop_39 - tmp_qloop_46);
+                   const real_t tmp_qloop_57 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_58 = -tmp_qloop_1 - tmp_qloop_57 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_59 = tmp_qloop_22*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_58 - tmp_qloop_34 - tmp_qloop_49) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_58 - tmp_qloop_36 - tmp_qloop_51) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_53);
+                   const real_t tmp_qloop_60 = -tmp_qloop_2 - tmp_qloop_57 - 8.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_61 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_60 - tmp_qloop_41 - tmp_qloop_48) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_60 - tmp_qloop_43 - tmp_qloop_50) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_60 - tmp_qloop_45 - tmp_qloop_52);
+                   const real_t tmp_qloop_62 = tmp_qloop_10*tmp_qloop_26;
+                   const real_t tmp_qloop_63 = tmp_qloop_13*tmp_qloop_26;
+                   const real_t tmp_qloop_64 = tmp_qloop_16*tmp_qloop_26;
+                   const real_t tmp_qloop_65 = tmp_qloop_26*tmp_qloop_7;
+                   const real_t tmp_qloop_66 = tmp_qloop_26*tmp_qloop_6;
+                   const real_t tmp_qloop_67 = tmp_qloop_26*tmp_qloop_5;
+                   const real_t tmp_qloop_68 = tmp_qloop_17*tmp_qloop_26;
+                   const real_t tmp_qloop_69 = tmp_qloop_18*tmp_qloop_26;
+                   const real_t tmp_qloop_70 = tmp_qloop_20*tmp_qloop_26;
+                   const real_t q_tmp_0_0 = tmp_qloop_25*tmp_qloop_27;
+                   const real_t q_tmp_0_1 = tmp_qloop_27*tmp_qloop_29;
+                   const real_t q_tmp_0_2 = tmp_qloop_27*tmp_qloop_31;
+                   const real_t q_tmp_0_3 = tmp_qloop_27*tmp_qloop_33;
+                   const real_t q_tmp_0_4 = tmp_qloop_27*tmp_qloop_40;
+                   const real_t q_tmp_0_5 = tmp_qloop_27*tmp_qloop_47;
+                   const real_t q_tmp_0_6 = tmp_qloop_27*tmp_qloop_54;
+                   const real_t q_tmp_0_7 = tmp_qloop_27*tmp_qloop_56;
+                   const real_t q_tmp_0_8 = tmp_qloop_27*tmp_qloop_59;
+                   const real_t q_tmp_0_9 = tmp_qloop_27*tmp_qloop_61;
+                   const real_t q_tmp_1_0 = tmp_qloop_25*tmp_qloop_62;
+                   const real_t q_tmp_1_1 = tmp_qloop_29*tmp_qloop_62;
+                   const real_t q_tmp_1_2 = tmp_qloop_31*tmp_qloop_62;
+                   const real_t q_tmp_1_3 = tmp_qloop_33*tmp_qloop_62;
+                   const real_t q_tmp_1_4 = tmp_qloop_40*tmp_qloop_62;
+                   const real_t q_tmp_1_5 = tmp_qloop_47*tmp_qloop_62;
+                   const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                   const real_t q_tmp_1_7 = tmp_qloop_56*tmp_qloop_62;
+                   const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                   const real_t q_tmp_1_9 = tmp_qloop_61*tmp_qloop_62;
+                   const real_t q_tmp_2_0 = tmp_qloop_25*tmp_qloop_63;
+                   const real_t q_tmp_2_1 = tmp_qloop_29*tmp_qloop_63;
+                   const real_t q_tmp_2_2 = tmp_qloop_31*tmp_qloop_63;
+                   const real_t q_tmp_2_3 = tmp_qloop_33*tmp_qloop_63;
+                   const real_t q_tmp_2_4 = tmp_qloop_40*tmp_qloop_63;
+                   const real_t q_tmp_2_5 = tmp_qloop_47*tmp_qloop_63;
+                   const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_63;
+                   const real_t q_tmp_2_7 = tmp_qloop_56*tmp_qloop_63;
+                   const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_63;
+                   const real_t q_tmp_2_9 = tmp_qloop_61*tmp_qloop_63;
+                   const real_t q_tmp_3_0 = tmp_qloop_25*tmp_qloop_64;
+                   const real_t q_tmp_3_1 = tmp_qloop_29*tmp_qloop_64;
+                   const real_t q_tmp_3_2 = tmp_qloop_31*tmp_qloop_64;
+                   const real_t q_tmp_3_3 = tmp_qloop_33*tmp_qloop_64;
+                   const real_t q_tmp_3_4 = tmp_qloop_40*tmp_qloop_64;
+                   const real_t q_tmp_3_5 = tmp_qloop_47*tmp_qloop_64;
+                   const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_64;
+                   const real_t q_tmp_3_7 = tmp_qloop_56*tmp_qloop_64;
+                   const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_64;
+                   const real_t q_tmp_3_9 = tmp_qloop_61*tmp_qloop_64;
+                   const real_t q_tmp_4_0 = tmp_qloop_25*tmp_qloop_65;
+                   const real_t q_tmp_4_1 = tmp_qloop_29*tmp_qloop_65;
+                   const real_t q_tmp_4_2 = tmp_qloop_31*tmp_qloop_65;
+                   const real_t q_tmp_4_3 = tmp_qloop_33*tmp_qloop_65;
+                   const real_t q_tmp_4_4 = tmp_qloop_40*tmp_qloop_65;
+                   const real_t q_tmp_4_5 = tmp_qloop_47*tmp_qloop_65;
+                   const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_65;
+                   const real_t q_tmp_4_7 = tmp_qloop_56*tmp_qloop_65;
+                   const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_65;
+                   const real_t q_tmp_4_9 = tmp_qloop_61*tmp_qloop_65;
+                   const real_t q_tmp_5_0 = tmp_qloop_25*tmp_qloop_66;
+                   const real_t q_tmp_5_1 = tmp_qloop_29*tmp_qloop_66;
+                   const real_t q_tmp_5_2 = tmp_qloop_31*tmp_qloop_66;
+                   const real_t q_tmp_5_3 = tmp_qloop_33*tmp_qloop_66;
+                   const real_t q_tmp_5_4 = tmp_qloop_40*tmp_qloop_66;
+                   const real_t q_tmp_5_5 = tmp_qloop_47*tmp_qloop_66;
+                   const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_66;
+                   const real_t q_tmp_5_7 = tmp_qloop_56*tmp_qloop_66;
+                   const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_66;
+                   const real_t q_tmp_5_9 = tmp_qloop_61*tmp_qloop_66;
+                   const real_t q_tmp_6_0 = tmp_qloop_25*tmp_qloop_67;
+                   const real_t q_tmp_6_1 = tmp_qloop_29*tmp_qloop_67;
+                   const real_t q_tmp_6_2 = tmp_qloop_31*tmp_qloop_67;
+                   const real_t q_tmp_6_3 = tmp_qloop_33*tmp_qloop_67;
+                   const real_t q_tmp_6_4 = tmp_qloop_40*tmp_qloop_67;
+                   const real_t q_tmp_6_5 = tmp_qloop_47*tmp_qloop_67;
+                   const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_67;
+                   const real_t q_tmp_6_7 = tmp_qloop_56*tmp_qloop_67;
+                   const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_67;
+                   const real_t q_tmp_6_9 = tmp_qloop_61*tmp_qloop_67;
+                   const real_t q_tmp_7_0 = tmp_qloop_25*tmp_qloop_68;
+                   const real_t q_tmp_7_1 = tmp_qloop_29*tmp_qloop_68;
+                   const real_t q_tmp_7_2 = tmp_qloop_31*tmp_qloop_68;
+                   const real_t q_tmp_7_3 = tmp_qloop_33*tmp_qloop_68;
+                   const real_t q_tmp_7_4 = tmp_qloop_40*tmp_qloop_68;
+                   const real_t q_tmp_7_5 = tmp_qloop_47*tmp_qloop_68;
+                   const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_68;
+                   const real_t q_tmp_7_7 = tmp_qloop_56*tmp_qloop_68;
+                   const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_68;
+                   const real_t q_tmp_7_9 = tmp_qloop_61*tmp_qloop_68;
+                   const real_t q_tmp_8_0 = tmp_qloop_25*tmp_qloop_69;
+                   const real_t q_tmp_8_1 = tmp_qloop_29*tmp_qloop_69;
+                   const real_t q_tmp_8_2 = tmp_qloop_31*tmp_qloop_69;
+                   const real_t q_tmp_8_3 = tmp_qloop_33*tmp_qloop_69;
+                   const real_t q_tmp_8_4 = tmp_qloop_40*tmp_qloop_69;
+                   const real_t q_tmp_8_5 = tmp_qloop_47*tmp_qloop_69;
+                   const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_69;
+                   const real_t q_tmp_8_7 = tmp_qloop_56*tmp_qloop_69;
+                   const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_69;
+                   const real_t q_tmp_8_9 = tmp_qloop_61*tmp_qloop_69;
+                   const real_t q_tmp_9_0 = tmp_qloop_25*tmp_qloop_70;
+                   const real_t q_tmp_9_1 = tmp_qloop_29*tmp_qloop_70;
+                   const real_t q_tmp_9_2 = tmp_qloop_31*tmp_qloop_70;
+                   const real_t q_tmp_9_3 = tmp_qloop_33*tmp_qloop_70;
+                   const real_t q_tmp_9_4 = tmp_qloop_40*tmp_qloop_70;
+                   const real_t q_tmp_9_5 = tmp_qloop_47*tmp_qloop_70;
+                   const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_70;
+                   const real_t q_tmp_9_7 = tmp_qloop_56*tmp_qloop_70;
+                   const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_70;
+                   const real_t q_tmp_9_9 = tmp_qloop_61*tmp_qloop_70;
+                   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;
+                   q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                   q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                   q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                   q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                   q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                   q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                   q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                   q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                   q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                   q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                   q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                   q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                   q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                   q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                   q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                   q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                   q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                   q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                   q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                   q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                   q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                   q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                   q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                   q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                   q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                   q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                   q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                   q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                   q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                   q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                   q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                   q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                   q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                   q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                   q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                   q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                   q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                   q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                   q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                   q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                   q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                   q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                   q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                   q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                   q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                   q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                   q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                   q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                   q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+                const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+                const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+                const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+                const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+                const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+                const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+                _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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))] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_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 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_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 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_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 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN;
+       const real_t tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN);
+       const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN);
+       const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN);
+       const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN);
+       const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN);
+       {
+          /* CellType.WHITE_DOWN */
+          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 cp_dof_0 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_1 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_2 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_3 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_4 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_5 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_6 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_7 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_8 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_9 = _mm256_loadu_pd(& _data_cpEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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);
+                __m256d q_acc_4_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_1),_mm256_mul_pd(tmp_qloop_13,ux_dof_2)),_mm256_mul_pd(tmp_qloop_16,ux_dof_3)),_mm256_mul_pd(tmp_qloop_17,ux_dof_7)),_mm256_mul_pd(tmp_qloop_18,ux_dof_8)),_mm256_mul_pd(tmp_qloop_20,ux_dof_9)),_mm256_mul_pd(tmp_qloop_21,ux_dof_0)),_mm256_mul_pd(tmp_qloop_5,ux_dof_6)),_mm256_mul_pd(tmp_qloop_6,ux_dof_5)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_1),_mm256_mul_pd(tmp_qloop_13,uy_dof_2)),_mm256_mul_pd(tmp_qloop_16,uy_dof_3)),_mm256_mul_pd(tmp_qloop_17,uy_dof_7)),_mm256_mul_pd(tmp_qloop_18,uy_dof_8)),_mm256_mul_pd(tmp_qloop_20,uy_dof_9)),_mm256_mul_pd(tmp_qloop_21,uy_dof_0)),_mm256_mul_pd(tmp_qloop_5,uy_dof_6)),_mm256_mul_pd(tmp_qloop_6,uy_dof_5)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_1),_mm256_mul_pd(tmp_qloop_13,uz_dof_2)),_mm256_mul_pd(tmp_qloop_16,uz_dof_3)),_mm256_mul_pd(tmp_qloop_17,uz_dof_7)),_mm256_mul_pd(tmp_qloop_18,uz_dof_8)),_mm256_mul_pd(tmp_qloop_20,uz_dof_9)),_mm256_mul_pd(tmp_qloop_21,uz_dof_0)),_mm256_mul_pd(tmp_qloop_5,uz_dof_6)),_mm256_mul_pd(tmp_qloop_6,uz_dof_5)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4));
+                   const __m256d tmp_qloop_25 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))));
+                   const __m256d tmp_qloop_26 = _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(cp_dof_0,tmp_qloop_21),_mm256_mul_pd(cp_dof_1,tmp_qloop_10)),_mm256_mul_pd(cp_dof_2,tmp_qloop_13)),_mm256_mul_pd(cp_dof_3,tmp_qloop_16)),_mm256_mul_pd(cp_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_dof_5,tmp_qloop_6)),_mm256_mul_pd(cp_dof_6,tmp_qloop_5)),_mm256_mul_pd(cp_dof_7,tmp_qloop_17)),_mm256_mul_pd(cp_dof_8,tmp_qloop_18)),_mm256_mul_pd(cp_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN));
+                   const __m256d tmp_qloop_27 = _mm256_mul_pd(tmp_qloop_21,tmp_qloop_26);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_29 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)));
+                   const __m256d tmp_qloop_30 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_31 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_30),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_30),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_30),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)));
+                   const __m256d tmp_qloop_32 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_33 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_32),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_32),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_32),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)));
+                   const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_34,tmp_qloop_35)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_36,tmp_qloop_37))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_38,tmp_qloop_39)));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46)));
+                   const __m256d tmp_qloop_48 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_54 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_48,tmp_qloop_49)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_50,tmp_qloop_51))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_52,tmp_qloop_53)));
+                   const __m256d tmp_qloop_55 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_56 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))));
+                   const __m256d tmp_qloop_57 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_58 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_51,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)))));
+                   const __m256d tmp_qloop_60 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_52,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)))));
+                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_10,tmp_qloop_26);
+                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_26);
+                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_16,tmp_qloop_26);
+                   const __m256d tmp_qloop_65 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_7);
+                   const __m256d tmp_qloop_66 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_6);
+                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_5);
+                   const __m256d tmp_qloop_68 = _mm256_mul_pd(tmp_qloop_17,tmp_qloop_26);
+                   const __m256d tmp_qloop_69 = _mm256_mul_pd(tmp_qloop_18,tmp_qloop_26);
+                   const __m256d tmp_qloop_70 = _mm256_mul_pd(tmp_qloop_20,tmp_qloop_26);
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_27);
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_29);
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_31);
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_33);
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_40);
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_47);
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_54);
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_56);
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_59);
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_61);
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_62);
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_62);
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_62);
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_62);
+                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_62);
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_62);
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_62);
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_62);
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_62);
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_62);
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_63);
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_63);
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_63);
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_63);
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_63);
+                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_63);
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_63);
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_63);
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_63);
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_63);
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_64);
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_64);
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_64);
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_64);
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_64);
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_64);
+                   const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_64);
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_64);
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_64);
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_64);
+                   const __m256d q_tmp_4_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_65);
+                   const __m256d q_tmp_4_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_65);
+                   const __m256d q_tmp_4_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_65);
+                   const __m256d q_tmp_4_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_65);
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_65);
+                   const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_65);
+                   const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_65);
+                   const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_65);
+                   const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_65);
+                   const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_65);
+                   const __m256d q_tmp_5_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_66);
+                   const __m256d q_tmp_5_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_66);
+                   const __m256d q_tmp_5_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_66);
+                   const __m256d q_tmp_5_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_66);
+                   const __m256d q_tmp_5_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_66);
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_66);
+                   const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_66);
+                   const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_66);
+                   const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_66);
+                   const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_66);
+                   const __m256d q_tmp_6_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_67);
+                   const __m256d q_tmp_6_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_67);
+                   const __m256d q_tmp_6_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_67);
+                   const __m256d q_tmp_6_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_67);
+                   const __m256d q_tmp_6_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_67);
+                   const __m256d q_tmp_6_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_67);
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_67);
+                   const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_67);
+                   const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_67);
+                   const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_67);
+                   const __m256d q_tmp_7_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_68);
+                   const __m256d q_tmp_7_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_68);
+                   const __m256d q_tmp_7_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_68);
+                   const __m256d q_tmp_7_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_68);
+                   const __m256d q_tmp_7_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_68);
+                   const __m256d q_tmp_7_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_68);
+                   const __m256d q_tmp_7_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_68);
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_68);
+                   const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_68);
+                   const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_68);
+                   const __m256d q_tmp_8_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_69);
+                   const __m256d q_tmp_8_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_69);
+                   const __m256d q_tmp_8_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_69);
+                   const __m256d q_tmp_8_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_69);
+                   const __m256d q_tmp_8_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_69);
+                   const __m256d q_tmp_8_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_69);
+                   const __m256d q_tmp_8_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_69);
+                   const __m256d q_tmp_8_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_69);
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_69);
+                   const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_69);
+                   const __m256d q_tmp_9_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_70);
+                   const __m256d q_tmp_9_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_70);
+                   const __m256d q_tmp_9_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_70);
+                   const __m256d q_tmp_9_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_70);
+                   const __m256d q_tmp_9_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_70);
+                   const __m256d q_tmp_9_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_70);
+                   const __m256d q_tmp_9_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_70);
+                   const __m256d q_tmp_9_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_70);
+                   const __m256d q_tmp_9_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_70);
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_70);
+                   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);
+                   q_acc_4_0 = _mm256_add_pd(q_acc_4_0,q_tmp_4_0);
+                   q_acc_4_1 = _mm256_add_pd(q_acc_4_1,q_tmp_4_1);
+                   q_acc_4_2 = _mm256_add_pd(q_acc_4_2,q_tmp_4_2);
+                   q_acc_4_3 = _mm256_add_pd(q_acc_4_3,q_tmp_4_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5);
+                   q_acc_4_6 = _mm256_add_pd(q_acc_4_6,q_tmp_4_6);
+                   q_acc_4_7 = _mm256_add_pd(q_acc_4_7,q_tmp_4_7);
+                   q_acc_4_8 = _mm256_add_pd(q_acc_4_8,q_tmp_4_8);
+                   q_acc_4_9 = _mm256_add_pd(q_acc_4_9,q_tmp_4_9);
+                   q_acc_5_0 = _mm256_add_pd(q_acc_5_0,q_tmp_5_0);
+                   q_acc_5_1 = _mm256_add_pd(q_acc_5_1,q_tmp_5_1);
+                   q_acc_5_2 = _mm256_add_pd(q_acc_5_2,q_tmp_5_2);
+                   q_acc_5_3 = _mm256_add_pd(q_acc_5_3,q_tmp_5_3);
+                   q_acc_5_4 = _mm256_add_pd(q_acc_5_4,q_tmp_5_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_5_6 = _mm256_add_pd(q_acc_5_6,q_tmp_5_6);
+                   q_acc_5_7 = _mm256_add_pd(q_acc_5_7,q_tmp_5_7);
+                   q_acc_5_8 = _mm256_add_pd(q_acc_5_8,q_tmp_5_8);
+                   q_acc_5_9 = _mm256_add_pd(q_acc_5_9,q_tmp_5_9);
+                   q_acc_6_0 = _mm256_add_pd(q_acc_6_0,q_tmp_6_0);
+                   q_acc_6_1 = _mm256_add_pd(q_acc_6_1,q_tmp_6_1);
+                   q_acc_6_2 = _mm256_add_pd(q_acc_6_2,q_tmp_6_2);
+                   q_acc_6_3 = _mm256_add_pd(q_acc_6_3,q_tmp_6_3);
+                   q_acc_6_4 = _mm256_add_pd(q_acc_6_4,q_tmp_6_4);
+                   q_acc_6_5 = _mm256_add_pd(q_acc_6_5,q_tmp_6_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_6_7 = _mm256_add_pd(q_acc_6_7,q_tmp_6_7);
+                   q_acc_6_8 = _mm256_add_pd(q_acc_6_8,q_tmp_6_8);
+                   q_acc_6_9 = _mm256_add_pd(q_acc_6_9,q_tmp_6_9);
+                   q_acc_7_0 = _mm256_add_pd(q_acc_7_0,q_tmp_7_0);
+                   q_acc_7_1 = _mm256_add_pd(q_acc_7_1,q_tmp_7_1);
+                   q_acc_7_2 = _mm256_add_pd(q_acc_7_2,q_tmp_7_2);
+                   q_acc_7_3 = _mm256_add_pd(q_acc_7_3,q_tmp_7_3);
+                   q_acc_7_4 = _mm256_add_pd(q_acc_7_4,q_tmp_7_4);
+                   q_acc_7_5 = _mm256_add_pd(q_acc_7_5,q_tmp_7_5);
+                   q_acc_7_6 = _mm256_add_pd(q_acc_7_6,q_tmp_7_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_7_8 = _mm256_add_pd(q_acc_7_8,q_tmp_7_8);
+                   q_acc_7_9 = _mm256_add_pd(q_acc_7_9,q_tmp_7_9);
+                   q_acc_8_0 = _mm256_add_pd(q_acc_8_0,q_tmp_8_0);
+                   q_acc_8_1 = _mm256_add_pd(q_acc_8_1,q_tmp_8_1);
+                   q_acc_8_2 = _mm256_add_pd(q_acc_8_2,q_tmp_8_2);
+                   q_acc_8_3 = _mm256_add_pd(q_acc_8_3,q_tmp_8_3);
+                   q_acc_8_4 = _mm256_add_pd(q_acc_8_4,q_tmp_8_4);
+                   q_acc_8_5 = _mm256_add_pd(q_acc_8_5,q_tmp_8_5);
+                   q_acc_8_6 = _mm256_add_pd(q_acc_8_6,q_tmp_8_6);
+                   q_acc_8_7 = _mm256_add_pd(q_acc_8_7,q_tmp_8_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_8_9 = _mm256_add_pd(q_acc_8_9,q_tmp_8_9);
+                   q_acc_9_0 = _mm256_add_pd(q_acc_9_0,q_tmp_9_0);
+                   q_acc_9_1 = _mm256_add_pd(q_acc_9_1,q_tmp_9_1);
+                   q_acc_9_2 = _mm256_add_pd(q_acc_9_2,q_tmp_9_2);
+                   q_acc_9_3 = _mm256_add_pd(q_acc_9_3,q_tmp_9_3);
+                   q_acc_9_4 = _mm256_add_pd(q_acc_9_4,q_tmp_9_4);
+                   q_acc_9_5 = _mm256_add_pd(q_acc_9_5,q_tmp_9_5);
+                   q_acc_9_6 = _mm256_add_pd(q_acc_9_6,q_tmp_9_6);
+                   q_acc_9_7 = _mm256_add_pd(q_acc_9_7,q_tmp_9_7);
+                   q_acc_9_8 = _mm256_add_pd(q_acc_9_8,q_tmp_9_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_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));
+                const __m256d elMatVec_4 = _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_4_0,src_dof_0),_mm256_mul_pd(q_acc_4_1,src_dof_1)),_mm256_mul_pd(q_acc_4_2,src_dof_2)),_mm256_mul_pd(q_acc_4_3,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)),_mm256_mul_pd(q_acc_4_6,src_dof_6)),_mm256_mul_pd(q_acc_4_7,src_dof_7)),_mm256_mul_pd(q_acc_4_8,src_dof_8)),_mm256_mul_pd(q_acc_4_9,src_dof_9));
+                const __m256d elMatVec_5 = _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_5_0,src_dof_0),_mm256_mul_pd(q_acc_5_1,src_dof_1)),_mm256_mul_pd(q_acc_5_2,src_dof_2)),_mm256_mul_pd(q_acc_5_3,src_dof_3)),_mm256_mul_pd(q_acc_5_4,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)),_mm256_mul_pd(q_acc_5_6,src_dof_6)),_mm256_mul_pd(q_acc_5_7,src_dof_7)),_mm256_mul_pd(q_acc_5_8,src_dof_8)),_mm256_mul_pd(q_acc_5_9,src_dof_9));
+                const __m256d elMatVec_6 = _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_6_0,src_dof_0),_mm256_mul_pd(q_acc_6_1,src_dof_1)),_mm256_mul_pd(q_acc_6_2,src_dof_2)),_mm256_mul_pd(q_acc_6_3,src_dof_3)),_mm256_mul_pd(q_acc_6_4,src_dof_4)),_mm256_mul_pd(q_acc_6_5,src_dof_5)),_mm256_mul_pd(q_acc_6_6,src_dof_6)),_mm256_mul_pd(q_acc_6_7,src_dof_7)),_mm256_mul_pd(q_acc_6_8,src_dof_8)),_mm256_mul_pd(q_acc_6_9,src_dof_9));
+                const __m256d elMatVec_7 = _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_7_0,src_dof_0),_mm256_mul_pd(q_acc_7_1,src_dof_1)),_mm256_mul_pd(q_acc_7_2,src_dof_2)),_mm256_mul_pd(q_acc_7_3,src_dof_3)),_mm256_mul_pd(q_acc_7_4,src_dof_4)),_mm256_mul_pd(q_acc_7_5,src_dof_5)),_mm256_mul_pd(q_acc_7_6,src_dof_6)),_mm256_mul_pd(q_acc_7_7,src_dof_7)),_mm256_mul_pd(q_acc_7_8,src_dof_8)),_mm256_mul_pd(q_acc_7_9,src_dof_9));
+                const __m256d elMatVec_8 = _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_8_0,src_dof_0),_mm256_mul_pd(q_acc_8_1,src_dof_1)),_mm256_mul_pd(q_acc_8_2,src_dof_2)),_mm256_mul_pd(q_acc_8_3,src_dof_3)),_mm256_mul_pd(q_acc_8_4,src_dof_4)),_mm256_mul_pd(q_acc_8_5,src_dof_5)),_mm256_mul_pd(q_acc_8_6,src_dof_6)),_mm256_mul_pd(q_acc_8_7,src_dof_7)),_mm256_mul_pd(q_acc_8_8,src_dof_8)),_mm256_mul_pd(q_acc_8_9,src_dof_9));
+                const __m256d elMatVec_9 = _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_9_0,src_dof_0),_mm256_mul_pd(q_acc_9_1,src_dof_1)),_mm256_mul_pd(q_acc_9_2,src_dof_2)),_mm256_mul_pd(q_acc_9_3,src_dof_3)),_mm256_mul_pd(q_acc_9_4,src_dof_4)),_mm256_mul_pd(q_acc_9_5,src_dof_5)),_mm256_mul_pd(q_acc_9_6,src_dof_6)),_mm256_mul_pd(q_acc_9_7,src_dof_7)),_mm256_mul_pd(q_acc_9_8,src_dof_8)),_mm256_mul_pd(q_acc_9_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_6,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_7,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_8,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_9,_mm256_loadu_pd(& _data_dstEdge[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])));
+             }
+             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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+                real_t q_acc_4_0 = 0.0;
+                real_t q_acc_4_1 = 0.0;
+                real_t q_acc_4_2 = 0.0;
+                real_t q_acc_4_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_4_5 = 0.0;
+                real_t q_acc_4_6 = 0.0;
+                real_t q_acc_4_7 = 0.0;
+                real_t q_acc_4_8 = 0.0;
+                real_t q_acc_4_9 = 0.0;
+                real_t q_acc_5_0 = 0.0;
+                real_t q_acc_5_1 = 0.0;
+                real_t q_acc_5_2 = 0.0;
+                real_t q_acc_5_3 = 0.0;
+                real_t q_acc_5_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_5_6 = 0.0;
+                real_t q_acc_5_7 = 0.0;
+                real_t q_acc_5_8 = 0.0;
+                real_t q_acc_5_9 = 0.0;
+                real_t q_acc_6_0 = 0.0;
+                real_t q_acc_6_1 = 0.0;
+                real_t q_acc_6_2 = 0.0;
+                real_t q_acc_6_3 = 0.0;
+                real_t q_acc_6_4 = 0.0;
+                real_t q_acc_6_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_6_7 = 0.0;
+                real_t q_acc_6_8 = 0.0;
+                real_t q_acc_6_9 = 0.0;
+                real_t q_acc_7_0 = 0.0;
+                real_t q_acc_7_1 = 0.0;
+                real_t q_acc_7_2 = 0.0;
+                real_t q_acc_7_3 = 0.0;
+                real_t q_acc_7_4 = 0.0;
+                real_t q_acc_7_5 = 0.0;
+                real_t q_acc_7_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_7_8 = 0.0;
+                real_t q_acc_7_9 = 0.0;
+                real_t q_acc_8_0 = 0.0;
+                real_t q_acc_8_1 = 0.0;
+                real_t q_acc_8_2 = 0.0;
+                real_t q_acc_8_3 = 0.0;
+                real_t q_acc_8_4 = 0.0;
+                real_t q_acc_8_5 = 0.0;
+                real_t q_acc_8_6 = 0.0;
+                real_t q_acc_8_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_8_9 = 0.0;
+                real_t q_acc_9_0 = 0.0;
+                real_t q_acc_9_1 = 0.0;
+                real_t q_acc_9_2 = 0.0;
+                real_t q_acc_9_3 = 0.0;
+                real_t q_acc_9_4 = 0.0;
+                real_t q_acc_9_5 = 0.0;
+                real_t q_acc_9_6 = 0.0;
+                real_t q_acc_9_7 = 0.0;
+                real_t q_acc_9_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                   const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_4);
+                   const real_t tmp_qloop_26 = abs_det_jac_affine_WHITE_DOWN*(cp_dof_0*tmp_qloop_21 + cp_dof_1*tmp_qloop_10 + cp_dof_2*tmp_qloop_13 + cp_dof_3*tmp_qloop_16 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_6 + cp_dof_6*tmp_qloop_5 + cp_dof_7*tmp_qloop_17 + cp_dof_8*tmp_qloop_18 + cp_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_27 = tmp_qloop_21*tmp_qloop_26;
+                   const real_t tmp_qloop_28 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_29 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_28;
+                   const real_t tmp_qloop_30 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_31 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_30 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_30 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_30;
+                   const real_t tmp_qloop_32 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_33 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_32 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_32 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_32;
+                   const real_t tmp_qloop_34 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_35 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_36 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_37 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_38 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_39 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_40 = tmp_qloop_22*(tmp_qloop_34 + tmp_qloop_35) + tmp_qloop_23*(tmp_qloop_36 + tmp_qloop_37) + tmp_qloop_24*(tmp_qloop_38 + tmp_qloop_39);
+                   const real_t tmp_qloop_41 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_42 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_43 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_44 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_45 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_47 = tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46);
+                   const real_t tmp_qloop_48 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_49 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_50 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_51 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_52 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_53 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_54 = tmp_qloop_22*(tmp_qloop_48 + tmp_qloop_49) + tmp_qloop_23*(tmp_qloop_50 + tmp_qloop_51) + tmp_qloop_24*(tmp_qloop_52 + tmp_qloop_53);
+                   const real_t tmp_qloop_55 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_56 = tmp_qloop_22*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_55 - tmp_qloop_35 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_55 - tmp_qloop_37 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_55 - tmp_qloop_39 - tmp_qloop_46);
+                   const real_t tmp_qloop_57 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_58 = -tmp_qloop_1 - tmp_qloop_57 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_59 = tmp_qloop_22*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_58 - tmp_qloop_34 - tmp_qloop_49) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_58 - tmp_qloop_36 - tmp_qloop_51) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_53);
+                   const real_t tmp_qloop_60 = -tmp_qloop_2 - tmp_qloop_57 - 8.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_61 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_60 - tmp_qloop_41 - tmp_qloop_48) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_60 - tmp_qloop_43 - tmp_qloop_50) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_60 - tmp_qloop_45 - tmp_qloop_52);
+                   const real_t tmp_qloop_62 = tmp_qloop_10*tmp_qloop_26;
+                   const real_t tmp_qloop_63 = tmp_qloop_13*tmp_qloop_26;
+                   const real_t tmp_qloop_64 = tmp_qloop_16*tmp_qloop_26;
+                   const real_t tmp_qloop_65 = tmp_qloop_26*tmp_qloop_7;
+                   const real_t tmp_qloop_66 = tmp_qloop_26*tmp_qloop_6;
+                   const real_t tmp_qloop_67 = tmp_qloop_26*tmp_qloop_5;
+                   const real_t tmp_qloop_68 = tmp_qloop_17*tmp_qloop_26;
+                   const real_t tmp_qloop_69 = tmp_qloop_18*tmp_qloop_26;
+                   const real_t tmp_qloop_70 = tmp_qloop_20*tmp_qloop_26;
+                   const real_t q_tmp_0_0 = tmp_qloop_25*tmp_qloop_27;
+                   const real_t q_tmp_0_1 = tmp_qloop_27*tmp_qloop_29;
+                   const real_t q_tmp_0_2 = tmp_qloop_27*tmp_qloop_31;
+                   const real_t q_tmp_0_3 = tmp_qloop_27*tmp_qloop_33;
+                   const real_t q_tmp_0_4 = tmp_qloop_27*tmp_qloop_40;
+                   const real_t q_tmp_0_5 = tmp_qloop_27*tmp_qloop_47;
+                   const real_t q_tmp_0_6 = tmp_qloop_27*tmp_qloop_54;
+                   const real_t q_tmp_0_7 = tmp_qloop_27*tmp_qloop_56;
+                   const real_t q_tmp_0_8 = tmp_qloop_27*tmp_qloop_59;
+                   const real_t q_tmp_0_9 = tmp_qloop_27*tmp_qloop_61;
+                   const real_t q_tmp_1_0 = tmp_qloop_25*tmp_qloop_62;
+                   const real_t q_tmp_1_1 = tmp_qloop_29*tmp_qloop_62;
+                   const real_t q_tmp_1_2 = tmp_qloop_31*tmp_qloop_62;
+                   const real_t q_tmp_1_3 = tmp_qloop_33*tmp_qloop_62;
+                   const real_t q_tmp_1_4 = tmp_qloop_40*tmp_qloop_62;
+                   const real_t q_tmp_1_5 = tmp_qloop_47*tmp_qloop_62;
+                   const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                   const real_t q_tmp_1_7 = tmp_qloop_56*tmp_qloop_62;
+                   const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                   const real_t q_tmp_1_9 = tmp_qloop_61*tmp_qloop_62;
+                   const real_t q_tmp_2_0 = tmp_qloop_25*tmp_qloop_63;
+                   const real_t q_tmp_2_1 = tmp_qloop_29*tmp_qloop_63;
+                   const real_t q_tmp_2_2 = tmp_qloop_31*tmp_qloop_63;
+                   const real_t q_tmp_2_3 = tmp_qloop_33*tmp_qloop_63;
+                   const real_t q_tmp_2_4 = tmp_qloop_40*tmp_qloop_63;
+                   const real_t q_tmp_2_5 = tmp_qloop_47*tmp_qloop_63;
+                   const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_63;
+                   const real_t q_tmp_2_7 = tmp_qloop_56*tmp_qloop_63;
+                   const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_63;
+                   const real_t q_tmp_2_9 = tmp_qloop_61*tmp_qloop_63;
+                   const real_t q_tmp_3_0 = tmp_qloop_25*tmp_qloop_64;
+                   const real_t q_tmp_3_1 = tmp_qloop_29*tmp_qloop_64;
+                   const real_t q_tmp_3_2 = tmp_qloop_31*tmp_qloop_64;
+                   const real_t q_tmp_3_3 = tmp_qloop_33*tmp_qloop_64;
+                   const real_t q_tmp_3_4 = tmp_qloop_40*tmp_qloop_64;
+                   const real_t q_tmp_3_5 = tmp_qloop_47*tmp_qloop_64;
+                   const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_64;
+                   const real_t q_tmp_3_7 = tmp_qloop_56*tmp_qloop_64;
+                   const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_64;
+                   const real_t q_tmp_3_9 = tmp_qloop_61*tmp_qloop_64;
+                   const real_t q_tmp_4_0 = tmp_qloop_25*tmp_qloop_65;
+                   const real_t q_tmp_4_1 = tmp_qloop_29*tmp_qloop_65;
+                   const real_t q_tmp_4_2 = tmp_qloop_31*tmp_qloop_65;
+                   const real_t q_tmp_4_3 = tmp_qloop_33*tmp_qloop_65;
+                   const real_t q_tmp_4_4 = tmp_qloop_40*tmp_qloop_65;
+                   const real_t q_tmp_4_5 = tmp_qloop_47*tmp_qloop_65;
+                   const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_65;
+                   const real_t q_tmp_4_7 = tmp_qloop_56*tmp_qloop_65;
+                   const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_65;
+                   const real_t q_tmp_4_9 = tmp_qloop_61*tmp_qloop_65;
+                   const real_t q_tmp_5_0 = tmp_qloop_25*tmp_qloop_66;
+                   const real_t q_tmp_5_1 = tmp_qloop_29*tmp_qloop_66;
+                   const real_t q_tmp_5_2 = tmp_qloop_31*tmp_qloop_66;
+                   const real_t q_tmp_5_3 = tmp_qloop_33*tmp_qloop_66;
+                   const real_t q_tmp_5_4 = tmp_qloop_40*tmp_qloop_66;
+                   const real_t q_tmp_5_5 = tmp_qloop_47*tmp_qloop_66;
+                   const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_66;
+                   const real_t q_tmp_5_7 = tmp_qloop_56*tmp_qloop_66;
+                   const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_66;
+                   const real_t q_tmp_5_9 = tmp_qloop_61*tmp_qloop_66;
+                   const real_t q_tmp_6_0 = tmp_qloop_25*tmp_qloop_67;
+                   const real_t q_tmp_6_1 = tmp_qloop_29*tmp_qloop_67;
+                   const real_t q_tmp_6_2 = tmp_qloop_31*tmp_qloop_67;
+                   const real_t q_tmp_6_3 = tmp_qloop_33*tmp_qloop_67;
+                   const real_t q_tmp_6_4 = tmp_qloop_40*tmp_qloop_67;
+                   const real_t q_tmp_6_5 = tmp_qloop_47*tmp_qloop_67;
+                   const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_67;
+                   const real_t q_tmp_6_7 = tmp_qloop_56*tmp_qloop_67;
+                   const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_67;
+                   const real_t q_tmp_6_9 = tmp_qloop_61*tmp_qloop_67;
+                   const real_t q_tmp_7_0 = tmp_qloop_25*tmp_qloop_68;
+                   const real_t q_tmp_7_1 = tmp_qloop_29*tmp_qloop_68;
+                   const real_t q_tmp_7_2 = tmp_qloop_31*tmp_qloop_68;
+                   const real_t q_tmp_7_3 = tmp_qloop_33*tmp_qloop_68;
+                   const real_t q_tmp_7_4 = tmp_qloop_40*tmp_qloop_68;
+                   const real_t q_tmp_7_5 = tmp_qloop_47*tmp_qloop_68;
+                   const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_68;
+                   const real_t q_tmp_7_7 = tmp_qloop_56*tmp_qloop_68;
+                   const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_68;
+                   const real_t q_tmp_7_9 = tmp_qloop_61*tmp_qloop_68;
+                   const real_t q_tmp_8_0 = tmp_qloop_25*tmp_qloop_69;
+                   const real_t q_tmp_8_1 = tmp_qloop_29*tmp_qloop_69;
+                   const real_t q_tmp_8_2 = tmp_qloop_31*tmp_qloop_69;
+                   const real_t q_tmp_8_3 = tmp_qloop_33*tmp_qloop_69;
+                   const real_t q_tmp_8_4 = tmp_qloop_40*tmp_qloop_69;
+                   const real_t q_tmp_8_5 = tmp_qloop_47*tmp_qloop_69;
+                   const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_69;
+                   const real_t q_tmp_8_7 = tmp_qloop_56*tmp_qloop_69;
+                   const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_69;
+                   const real_t q_tmp_8_9 = tmp_qloop_61*tmp_qloop_69;
+                   const real_t q_tmp_9_0 = tmp_qloop_25*tmp_qloop_70;
+                   const real_t q_tmp_9_1 = tmp_qloop_29*tmp_qloop_70;
+                   const real_t q_tmp_9_2 = tmp_qloop_31*tmp_qloop_70;
+                   const real_t q_tmp_9_3 = tmp_qloop_33*tmp_qloop_70;
+                   const real_t q_tmp_9_4 = tmp_qloop_40*tmp_qloop_70;
+                   const real_t q_tmp_9_5 = tmp_qloop_47*tmp_qloop_70;
+                   const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_70;
+                   const real_t q_tmp_9_7 = tmp_qloop_56*tmp_qloop_70;
+                   const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_70;
+                   const real_t q_tmp_9_9 = tmp_qloop_61*tmp_qloop_70;
+                   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;
+                   q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                   q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                   q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                   q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                   q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                   q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                   q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                   q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                   q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                   q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                   q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                   q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                   q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                   q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                   q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                   q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                   q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                   q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                   q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                   q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                   q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                   q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                   q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                   q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                   q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                   q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                   q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                   q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                   q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                   q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                   q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                   q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                   q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                   q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                   q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                   q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                   q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                   q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                   q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                   q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                   q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                   q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                   q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                   q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                   q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                   q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                   q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                   q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                   q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+                const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+                const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+                const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+                const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+                const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+                const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+                _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_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 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_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 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_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 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP;
+       const real_t tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP);
+       const real_t jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP);
+       const real_t jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP);
+       const real_t jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP);
+       const real_t jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP);
+       {
+          /* CellType.BLUE_UP */
+          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 cp_dof_0 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_1 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_2 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_3 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_4 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_5 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_6 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_7 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_8 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_9 = _mm256_loadu_pd(& _data_cpEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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);
+                __m256d q_acc_4_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_1),_mm256_mul_pd(tmp_qloop_13,ux_dof_2)),_mm256_mul_pd(tmp_qloop_16,ux_dof_3)),_mm256_mul_pd(tmp_qloop_17,ux_dof_7)),_mm256_mul_pd(tmp_qloop_18,ux_dof_8)),_mm256_mul_pd(tmp_qloop_20,ux_dof_9)),_mm256_mul_pd(tmp_qloop_21,ux_dof_0)),_mm256_mul_pd(tmp_qloop_5,ux_dof_6)),_mm256_mul_pd(tmp_qloop_6,ux_dof_5)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_1),_mm256_mul_pd(tmp_qloop_13,uy_dof_2)),_mm256_mul_pd(tmp_qloop_16,uy_dof_3)),_mm256_mul_pd(tmp_qloop_17,uy_dof_7)),_mm256_mul_pd(tmp_qloop_18,uy_dof_8)),_mm256_mul_pd(tmp_qloop_20,uy_dof_9)),_mm256_mul_pd(tmp_qloop_21,uy_dof_0)),_mm256_mul_pd(tmp_qloop_5,uy_dof_6)),_mm256_mul_pd(tmp_qloop_6,uy_dof_5)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_1),_mm256_mul_pd(tmp_qloop_13,uz_dof_2)),_mm256_mul_pd(tmp_qloop_16,uz_dof_3)),_mm256_mul_pd(tmp_qloop_17,uz_dof_7)),_mm256_mul_pd(tmp_qloop_18,uz_dof_8)),_mm256_mul_pd(tmp_qloop_20,uz_dof_9)),_mm256_mul_pd(tmp_qloop_21,uz_dof_0)),_mm256_mul_pd(tmp_qloop_5,uz_dof_6)),_mm256_mul_pd(tmp_qloop_6,uz_dof_5)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4));
+                   const __m256d tmp_qloop_25 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))));
+                   const __m256d tmp_qloop_26 = _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(cp_dof_0,tmp_qloop_21),_mm256_mul_pd(cp_dof_1,tmp_qloop_10)),_mm256_mul_pd(cp_dof_2,tmp_qloop_13)),_mm256_mul_pd(cp_dof_3,tmp_qloop_16)),_mm256_mul_pd(cp_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_dof_5,tmp_qloop_6)),_mm256_mul_pd(cp_dof_6,tmp_qloop_5)),_mm256_mul_pd(cp_dof_7,tmp_qloop_17)),_mm256_mul_pd(cp_dof_8,tmp_qloop_18)),_mm256_mul_pd(cp_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP));
+                   const __m256d tmp_qloop_27 = _mm256_mul_pd(tmp_qloop_21,tmp_qloop_26);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_29 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)));
+                   const __m256d tmp_qloop_30 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_31 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_30),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_30),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_30),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)));
+                   const __m256d tmp_qloop_32 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_33 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_32),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_32),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_32),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)));
+                   const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP));
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP));
+                   const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_34,tmp_qloop_35)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_36,tmp_qloop_37))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_38,tmp_qloop_39)));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP));
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46)));
+                   const __m256d tmp_qloop_48 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP));
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP));
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP));
+                   const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP));
+                   const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP));
+                   const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP));
+                   const __m256d tmp_qloop_54 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_48,tmp_qloop_49)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_50,tmp_qloop_51))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_52,tmp_qloop_53)));
+                   const __m256d tmp_qloop_55 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_56 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))));
+                   const __m256d tmp_qloop_57 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_58 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_51,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)))));
+                   const __m256d tmp_qloop_60 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_52,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)))));
+                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_10,tmp_qloop_26);
+                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_26);
+                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_16,tmp_qloop_26);
+                   const __m256d tmp_qloop_65 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_7);
+                   const __m256d tmp_qloop_66 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_6);
+                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_5);
+                   const __m256d tmp_qloop_68 = _mm256_mul_pd(tmp_qloop_17,tmp_qloop_26);
+                   const __m256d tmp_qloop_69 = _mm256_mul_pd(tmp_qloop_18,tmp_qloop_26);
+                   const __m256d tmp_qloop_70 = _mm256_mul_pd(tmp_qloop_20,tmp_qloop_26);
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_27);
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_29);
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_31);
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_33);
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_40);
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_47);
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_54);
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_56);
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_59);
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_61);
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_62);
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_62);
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_62);
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_62);
+                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_62);
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_62);
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_62);
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_62);
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_62);
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_62);
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_63);
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_63);
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_63);
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_63);
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_63);
+                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_63);
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_63);
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_63);
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_63);
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_63);
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_64);
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_64);
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_64);
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_64);
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_64);
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_64);
+                   const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_64);
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_64);
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_64);
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_64);
+                   const __m256d q_tmp_4_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_65);
+                   const __m256d q_tmp_4_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_65);
+                   const __m256d q_tmp_4_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_65);
+                   const __m256d q_tmp_4_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_65);
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_65);
+                   const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_65);
+                   const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_65);
+                   const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_65);
+                   const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_65);
+                   const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_65);
+                   const __m256d q_tmp_5_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_66);
+                   const __m256d q_tmp_5_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_66);
+                   const __m256d q_tmp_5_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_66);
+                   const __m256d q_tmp_5_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_66);
+                   const __m256d q_tmp_5_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_66);
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_66);
+                   const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_66);
+                   const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_66);
+                   const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_66);
+                   const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_66);
+                   const __m256d q_tmp_6_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_67);
+                   const __m256d q_tmp_6_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_67);
+                   const __m256d q_tmp_6_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_67);
+                   const __m256d q_tmp_6_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_67);
+                   const __m256d q_tmp_6_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_67);
+                   const __m256d q_tmp_6_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_67);
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_67);
+                   const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_67);
+                   const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_67);
+                   const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_67);
+                   const __m256d q_tmp_7_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_68);
+                   const __m256d q_tmp_7_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_68);
+                   const __m256d q_tmp_7_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_68);
+                   const __m256d q_tmp_7_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_68);
+                   const __m256d q_tmp_7_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_68);
+                   const __m256d q_tmp_7_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_68);
+                   const __m256d q_tmp_7_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_68);
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_68);
+                   const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_68);
+                   const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_68);
+                   const __m256d q_tmp_8_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_69);
+                   const __m256d q_tmp_8_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_69);
+                   const __m256d q_tmp_8_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_69);
+                   const __m256d q_tmp_8_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_69);
+                   const __m256d q_tmp_8_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_69);
+                   const __m256d q_tmp_8_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_69);
+                   const __m256d q_tmp_8_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_69);
+                   const __m256d q_tmp_8_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_69);
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_69);
+                   const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_69);
+                   const __m256d q_tmp_9_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_70);
+                   const __m256d q_tmp_9_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_70);
+                   const __m256d q_tmp_9_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_70);
+                   const __m256d q_tmp_9_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_70);
+                   const __m256d q_tmp_9_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_70);
+                   const __m256d q_tmp_9_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_70);
+                   const __m256d q_tmp_9_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_70);
+                   const __m256d q_tmp_9_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_70);
+                   const __m256d q_tmp_9_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_70);
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_70);
+                   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);
+                   q_acc_4_0 = _mm256_add_pd(q_acc_4_0,q_tmp_4_0);
+                   q_acc_4_1 = _mm256_add_pd(q_acc_4_1,q_tmp_4_1);
+                   q_acc_4_2 = _mm256_add_pd(q_acc_4_2,q_tmp_4_2);
+                   q_acc_4_3 = _mm256_add_pd(q_acc_4_3,q_tmp_4_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5);
+                   q_acc_4_6 = _mm256_add_pd(q_acc_4_6,q_tmp_4_6);
+                   q_acc_4_7 = _mm256_add_pd(q_acc_4_7,q_tmp_4_7);
+                   q_acc_4_8 = _mm256_add_pd(q_acc_4_8,q_tmp_4_8);
+                   q_acc_4_9 = _mm256_add_pd(q_acc_4_9,q_tmp_4_9);
+                   q_acc_5_0 = _mm256_add_pd(q_acc_5_0,q_tmp_5_0);
+                   q_acc_5_1 = _mm256_add_pd(q_acc_5_1,q_tmp_5_1);
+                   q_acc_5_2 = _mm256_add_pd(q_acc_5_2,q_tmp_5_2);
+                   q_acc_5_3 = _mm256_add_pd(q_acc_5_3,q_tmp_5_3);
+                   q_acc_5_4 = _mm256_add_pd(q_acc_5_4,q_tmp_5_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_5_6 = _mm256_add_pd(q_acc_5_6,q_tmp_5_6);
+                   q_acc_5_7 = _mm256_add_pd(q_acc_5_7,q_tmp_5_7);
+                   q_acc_5_8 = _mm256_add_pd(q_acc_5_8,q_tmp_5_8);
+                   q_acc_5_9 = _mm256_add_pd(q_acc_5_9,q_tmp_5_9);
+                   q_acc_6_0 = _mm256_add_pd(q_acc_6_0,q_tmp_6_0);
+                   q_acc_6_1 = _mm256_add_pd(q_acc_6_1,q_tmp_6_1);
+                   q_acc_6_2 = _mm256_add_pd(q_acc_6_2,q_tmp_6_2);
+                   q_acc_6_3 = _mm256_add_pd(q_acc_6_3,q_tmp_6_3);
+                   q_acc_6_4 = _mm256_add_pd(q_acc_6_4,q_tmp_6_4);
+                   q_acc_6_5 = _mm256_add_pd(q_acc_6_5,q_tmp_6_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_6_7 = _mm256_add_pd(q_acc_6_7,q_tmp_6_7);
+                   q_acc_6_8 = _mm256_add_pd(q_acc_6_8,q_tmp_6_8);
+                   q_acc_6_9 = _mm256_add_pd(q_acc_6_9,q_tmp_6_9);
+                   q_acc_7_0 = _mm256_add_pd(q_acc_7_0,q_tmp_7_0);
+                   q_acc_7_1 = _mm256_add_pd(q_acc_7_1,q_tmp_7_1);
+                   q_acc_7_2 = _mm256_add_pd(q_acc_7_2,q_tmp_7_2);
+                   q_acc_7_3 = _mm256_add_pd(q_acc_7_3,q_tmp_7_3);
+                   q_acc_7_4 = _mm256_add_pd(q_acc_7_4,q_tmp_7_4);
+                   q_acc_7_5 = _mm256_add_pd(q_acc_7_5,q_tmp_7_5);
+                   q_acc_7_6 = _mm256_add_pd(q_acc_7_6,q_tmp_7_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_7_8 = _mm256_add_pd(q_acc_7_8,q_tmp_7_8);
+                   q_acc_7_9 = _mm256_add_pd(q_acc_7_9,q_tmp_7_9);
+                   q_acc_8_0 = _mm256_add_pd(q_acc_8_0,q_tmp_8_0);
+                   q_acc_8_1 = _mm256_add_pd(q_acc_8_1,q_tmp_8_1);
+                   q_acc_8_2 = _mm256_add_pd(q_acc_8_2,q_tmp_8_2);
+                   q_acc_8_3 = _mm256_add_pd(q_acc_8_3,q_tmp_8_3);
+                   q_acc_8_4 = _mm256_add_pd(q_acc_8_4,q_tmp_8_4);
+                   q_acc_8_5 = _mm256_add_pd(q_acc_8_5,q_tmp_8_5);
+                   q_acc_8_6 = _mm256_add_pd(q_acc_8_6,q_tmp_8_6);
+                   q_acc_8_7 = _mm256_add_pd(q_acc_8_7,q_tmp_8_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_8_9 = _mm256_add_pd(q_acc_8_9,q_tmp_8_9);
+                   q_acc_9_0 = _mm256_add_pd(q_acc_9_0,q_tmp_9_0);
+                   q_acc_9_1 = _mm256_add_pd(q_acc_9_1,q_tmp_9_1);
+                   q_acc_9_2 = _mm256_add_pd(q_acc_9_2,q_tmp_9_2);
+                   q_acc_9_3 = _mm256_add_pd(q_acc_9_3,q_tmp_9_3);
+                   q_acc_9_4 = _mm256_add_pd(q_acc_9_4,q_tmp_9_4);
+                   q_acc_9_5 = _mm256_add_pd(q_acc_9_5,q_tmp_9_5);
+                   q_acc_9_6 = _mm256_add_pd(q_acc_9_6,q_tmp_9_6);
+                   q_acc_9_7 = _mm256_add_pd(q_acc_9_7,q_tmp_9_7);
+                   q_acc_9_8 = _mm256_add_pd(q_acc_9_8,q_tmp_9_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_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));
+                const __m256d elMatVec_4 = _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_4_0,src_dof_0),_mm256_mul_pd(q_acc_4_1,src_dof_1)),_mm256_mul_pd(q_acc_4_2,src_dof_2)),_mm256_mul_pd(q_acc_4_3,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)),_mm256_mul_pd(q_acc_4_6,src_dof_6)),_mm256_mul_pd(q_acc_4_7,src_dof_7)),_mm256_mul_pd(q_acc_4_8,src_dof_8)),_mm256_mul_pd(q_acc_4_9,src_dof_9));
+                const __m256d elMatVec_5 = _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_5_0,src_dof_0),_mm256_mul_pd(q_acc_5_1,src_dof_1)),_mm256_mul_pd(q_acc_5_2,src_dof_2)),_mm256_mul_pd(q_acc_5_3,src_dof_3)),_mm256_mul_pd(q_acc_5_4,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)),_mm256_mul_pd(q_acc_5_6,src_dof_6)),_mm256_mul_pd(q_acc_5_7,src_dof_7)),_mm256_mul_pd(q_acc_5_8,src_dof_8)),_mm256_mul_pd(q_acc_5_9,src_dof_9));
+                const __m256d elMatVec_6 = _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_6_0,src_dof_0),_mm256_mul_pd(q_acc_6_1,src_dof_1)),_mm256_mul_pd(q_acc_6_2,src_dof_2)),_mm256_mul_pd(q_acc_6_3,src_dof_3)),_mm256_mul_pd(q_acc_6_4,src_dof_4)),_mm256_mul_pd(q_acc_6_5,src_dof_5)),_mm256_mul_pd(q_acc_6_6,src_dof_6)),_mm256_mul_pd(q_acc_6_7,src_dof_7)),_mm256_mul_pd(q_acc_6_8,src_dof_8)),_mm256_mul_pd(q_acc_6_9,src_dof_9));
+                const __m256d elMatVec_7 = _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_7_0,src_dof_0),_mm256_mul_pd(q_acc_7_1,src_dof_1)),_mm256_mul_pd(q_acc_7_2,src_dof_2)),_mm256_mul_pd(q_acc_7_3,src_dof_3)),_mm256_mul_pd(q_acc_7_4,src_dof_4)),_mm256_mul_pd(q_acc_7_5,src_dof_5)),_mm256_mul_pd(q_acc_7_6,src_dof_6)),_mm256_mul_pd(q_acc_7_7,src_dof_7)),_mm256_mul_pd(q_acc_7_8,src_dof_8)),_mm256_mul_pd(q_acc_7_9,src_dof_9));
+                const __m256d elMatVec_8 = _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_8_0,src_dof_0),_mm256_mul_pd(q_acc_8_1,src_dof_1)),_mm256_mul_pd(q_acc_8_2,src_dof_2)),_mm256_mul_pd(q_acc_8_3,src_dof_3)),_mm256_mul_pd(q_acc_8_4,src_dof_4)),_mm256_mul_pd(q_acc_8_5,src_dof_5)),_mm256_mul_pd(q_acc_8_6,src_dof_6)),_mm256_mul_pd(q_acc_8_7,src_dof_7)),_mm256_mul_pd(q_acc_8_8,src_dof_8)),_mm256_mul_pd(q_acc_8_9,src_dof_9));
+                const __m256d elMatVec_9 = _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_9_0,src_dof_0),_mm256_mul_pd(q_acc_9_1,src_dof_1)),_mm256_mul_pd(q_acc_9_2,src_dof_2)),_mm256_mul_pd(q_acc_9_3,src_dof_3)),_mm256_mul_pd(q_acc_9_4,src_dof_4)),_mm256_mul_pd(q_acc_9_5,src_dof_5)),_mm256_mul_pd(q_acc_9_6,src_dof_6)),_mm256_mul_pd(q_acc_9_7,src_dof_7)),_mm256_mul_pd(q_acc_9_8,src_dof_8)),_mm256_mul_pd(q_acc_9_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_6,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_7,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_8,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_9,_mm256_loadu_pd(& _data_dstEdge[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))])));
+             }
+             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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+                real_t q_acc_4_0 = 0.0;
+                real_t q_acc_4_1 = 0.0;
+                real_t q_acc_4_2 = 0.0;
+                real_t q_acc_4_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_4_5 = 0.0;
+                real_t q_acc_4_6 = 0.0;
+                real_t q_acc_4_7 = 0.0;
+                real_t q_acc_4_8 = 0.0;
+                real_t q_acc_4_9 = 0.0;
+                real_t q_acc_5_0 = 0.0;
+                real_t q_acc_5_1 = 0.0;
+                real_t q_acc_5_2 = 0.0;
+                real_t q_acc_5_3 = 0.0;
+                real_t q_acc_5_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_5_6 = 0.0;
+                real_t q_acc_5_7 = 0.0;
+                real_t q_acc_5_8 = 0.0;
+                real_t q_acc_5_9 = 0.0;
+                real_t q_acc_6_0 = 0.0;
+                real_t q_acc_6_1 = 0.0;
+                real_t q_acc_6_2 = 0.0;
+                real_t q_acc_6_3 = 0.0;
+                real_t q_acc_6_4 = 0.0;
+                real_t q_acc_6_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_6_7 = 0.0;
+                real_t q_acc_6_8 = 0.0;
+                real_t q_acc_6_9 = 0.0;
+                real_t q_acc_7_0 = 0.0;
+                real_t q_acc_7_1 = 0.0;
+                real_t q_acc_7_2 = 0.0;
+                real_t q_acc_7_3 = 0.0;
+                real_t q_acc_7_4 = 0.0;
+                real_t q_acc_7_5 = 0.0;
+                real_t q_acc_7_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_7_8 = 0.0;
+                real_t q_acc_7_9 = 0.0;
+                real_t q_acc_8_0 = 0.0;
+                real_t q_acc_8_1 = 0.0;
+                real_t q_acc_8_2 = 0.0;
+                real_t q_acc_8_3 = 0.0;
+                real_t q_acc_8_4 = 0.0;
+                real_t q_acc_8_5 = 0.0;
+                real_t q_acc_8_6 = 0.0;
+                real_t q_acc_8_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_8_9 = 0.0;
+                real_t q_acc_9_0 = 0.0;
+                real_t q_acc_9_1 = 0.0;
+                real_t q_acc_9_2 = 0.0;
+                real_t q_acc_9_3 = 0.0;
+                real_t q_acc_9_4 = 0.0;
+                real_t q_acc_9_5 = 0.0;
+                real_t q_acc_9_6 = 0.0;
+                real_t q_acc_9_7 = 0.0;
+                real_t q_acc_9_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                   const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_4);
+                   const real_t tmp_qloop_26 = abs_det_jac_affine_BLUE_UP*(cp_dof_0*tmp_qloop_21 + cp_dof_1*tmp_qloop_10 + cp_dof_2*tmp_qloop_13 + cp_dof_3*tmp_qloop_16 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_6 + cp_dof_6*tmp_qloop_5 + cp_dof_7*tmp_qloop_17 + cp_dof_8*tmp_qloop_18 + cp_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_27 = tmp_qloop_21*tmp_qloop_26;
+                   const real_t tmp_qloop_28 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_29 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_0_1_BLUE_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_0_2_BLUE_UP*tmp_qloop_24*tmp_qloop_28;
+                   const real_t tmp_qloop_30 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_31 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_22*tmp_qloop_30 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_23*tmp_qloop_30 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_24*tmp_qloop_30;
+                   const real_t tmp_qloop_32 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_33 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_22*tmp_qloop_32 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_23*tmp_qloop_32 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_24*tmp_qloop_32;
+                   const real_t tmp_qloop_34 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_35 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_36 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_37 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_38 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_39 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_40 = tmp_qloop_22*(tmp_qloop_34 + tmp_qloop_35) + tmp_qloop_23*(tmp_qloop_36 + tmp_qloop_37) + tmp_qloop_24*(tmp_qloop_38 + tmp_qloop_39);
+                   const real_t tmp_qloop_41 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_42 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_43 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_44 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_45 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_47 = tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46);
+                   const real_t tmp_qloop_48 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_49 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_50 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_51 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_52 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_53 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_54 = tmp_qloop_22*(tmp_qloop_48 + tmp_qloop_49) + tmp_qloop_23*(tmp_qloop_50 + tmp_qloop_51) + tmp_qloop_24*(tmp_qloop_52 + tmp_qloop_53);
+                   const real_t tmp_qloop_55 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_56 = tmp_qloop_22*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_55 - tmp_qloop_35 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_55 - tmp_qloop_37 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_55 - tmp_qloop_39 - tmp_qloop_46);
+                   const real_t tmp_qloop_57 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_58 = -tmp_qloop_1 - tmp_qloop_57 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_59 = tmp_qloop_22*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_58 - tmp_qloop_34 - tmp_qloop_49) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_58 - tmp_qloop_36 - tmp_qloop_51) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_53);
+                   const real_t tmp_qloop_60 = -tmp_qloop_2 - tmp_qloop_57 - 8.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_61 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_60 - tmp_qloop_41 - tmp_qloop_48) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_60 - tmp_qloop_43 - tmp_qloop_50) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_60 - tmp_qloop_45 - tmp_qloop_52);
+                   const real_t tmp_qloop_62 = tmp_qloop_10*tmp_qloop_26;
+                   const real_t tmp_qloop_63 = tmp_qloop_13*tmp_qloop_26;
+                   const real_t tmp_qloop_64 = tmp_qloop_16*tmp_qloop_26;
+                   const real_t tmp_qloop_65 = tmp_qloop_26*tmp_qloop_7;
+                   const real_t tmp_qloop_66 = tmp_qloop_26*tmp_qloop_6;
+                   const real_t tmp_qloop_67 = tmp_qloop_26*tmp_qloop_5;
+                   const real_t tmp_qloop_68 = tmp_qloop_17*tmp_qloop_26;
+                   const real_t tmp_qloop_69 = tmp_qloop_18*tmp_qloop_26;
+                   const real_t tmp_qloop_70 = tmp_qloop_20*tmp_qloop_26;
+                   const real_t q_tmp_0_0 = tmp_qloop_25*tmp_qloop_27;
+                   const real_t q_tmp_0_1 = tmp_qloop_27*tmp_qloop_29;
+                   const real_t q_tmp_0_2 = tmp_qloop_27*tmp_qloop_31;
+                   const real_t q_tmp_0_3 = tmp_qloop_27*tmp_qloop_33;
+                   const real_t q_tmp_0_4 = tmp_qloop_27*tmp_qloop_40;
+                   const real_t q_tmp_0_5 = tmp_qloop_27*tmp_qloop_47;
+                   const real_t q_tmp_0_6 = tmp_qloop_27*tmp_qloop_54;
+                   const real_t q_tmp_0_7 = tmp_qloop_27*tmp_qloop_56;
+                   const real_t q_tmp_0_8 = tmp_qloop_27*tmp_qloop_59;
+                   const real_t q_tmp_0_9 = tmp_qloop_27*tmp_qloop_61;
+                   const real_t q_tmp_1_0 = tmp_qloop_25*tmp_qloop_62;
+                   const real_t q_tmp_1_1 = tmp_qloop_29*tmp_qloop_62;
+                   const real_t q_tmp_1_2 = tmp_qloop_31*tmp_qloop_62;
+                   const real_t q_tmp_1_3 = tmp_qloop_33*tmp_qloop_62;
+                   const real_t q_tmp_1_4 = tmp_qloop_40*tmp_qloop_62;
+                   const real_t q_tmp_1_5 = tmp_qloop_47*tmp_qloop_62;
+                   const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                   const real_t q_tmp_1_7 = tmp_qloop_56*tmp_qloop_62;
+                   const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                   const real_t q_tmp_1_9 = tmp_qloop_61*tmp_qloop_62;
+                   const real_t q_tmp_2_0 = tmp_qloop_25*tmp_qloop_63;
+                   const real_t q_tmp_2_1 = tmp_qloop_29*tmp_qloop_63;
+                   const real_t q_tmp_2_2 = tmp_qloop_31*tmp_qloop_63;
+                   const real_t q_tmp_2_3 = tmp_qloop_33*tmp_qloop_63;
+                   const real_t q_tmp_2_4 = tmp_qloop_40*tmp_qloop_63;
+                   const real_t q_tmp_2_5 = tmp_qloop_47*tmp_qloop_63;
+                   const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_63;
+                   const real_t q_tmp_2_7 = tmp_qloop_56*tmp_qloop_63;
+                   const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_63;
+                   const real_t q_tmp_2_9 = tmp_qloop_61*tmp_qloop_63;
+                   const real_t q_tmp_3_0 = tmp_qloop_25*tmp_qloop_64;
+                   const real_t q_tmp_3_1 = tmp_qloop_29*tmp_qloop_64;
+                   const real_t q_tmp_3_2 = tmp_qloop_31*tmp_qloop_64;
+                   const real_t q_tmp_3_3 = tmp_qloop_33*tmp_qloop_64;
+                   const real_t q_tmp_3_4 = tmp_qloop_40*tmp_qloop_64;
+                   const real_t q_tmp_3_5 = tmp_qloop_47*tmp_qloop_64;
+                   const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_64;
+                   const real_t q_tmp_3_7 = tmp_qloop_56*tmp_qloop_64;
+                   const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_64;
+                   const real_t q_tmp_3_9 = tmp_qloop_61*tmp_qloop_64;
+                   const real_t q_tmp_4_0 = tmp_qloop_25*tmp_qloop_65;
+                   const real_t q_tmp_4_1 = tmp_qloop_29*tmp_qloop_65;
+                   const real_t q_tmp_4_2 = tmp_qloop_31*tmp_qloop_65;
+                   const real_t q_tmp_4_3 = tmp_qloop_33*tmp_qloop_65;
+                   const real_t q_tmp_4_4 = tmp_qloop_40*tmp_qloop_65;
+                   const real_t q_tmp_4_5 = tmp_qloop_47*tmp_qloop_65;
+                   const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_65;
+                   const real_t q_tmp_4_7 = tmp_qloop_56*tmp_qloop_65;
+                   const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_65;
+                   const real_t q_tmp_4_9 = tmp_qloop_61*tmp_qloop_65;
+                   const real_t q_tmp_5_0 = tmp_qloop_25*tmp_qloop_66;
+                   const real_t q_tmp_5_1 = tmp_qloop_29*tmp_qloop_66;
+                   const real_t q_tmp_5_2 = tmp_qloop_31*tmp_qloop_66;
+                   const real_t q_tmp_5_3 = tmp_qloop_33*tmp_qloop_66;
+                   const real_t q_tmp_5_4 = tmp_qloop_40*tmp_qloop_66;
+                   const real_t q_tmp_5_5 = tmp_qloop_47*tmp_qloop_66;
+                   const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_66;
+                   const real_t q_tmp_5_7 = tmp_qloop_56*tmp_qloop_66;
+                   const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_66;
+                   const real_t q_tmp_5_9 = tmp_qloop_61*tmp_qloop_66;
+                   const real_t q_tmp_6_0 = tmp_qloop_25*tmp_qloop_67;
+                   const real_t q_tmp_6_1 = tmp_qloop_29*tmp_qloop_67;
+                   const real_t q_tmp_6_2 = tmp_qloop_31*tmp_qloop_67;
+                   const real_t q_tmp_6_3 = tmp_qloop_33*tmp_qloop_67;
+                   const real_t q_tmp_6_4 = tmp_qloop_40*tmp_qloop_67;
+                   const real_t q_tmp_6_5 = tmp_qloop_47*tmp_qloop_67;
+                   const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_67;
+                   const real_t q_tmp_6_7 = tmp_qloop_56*tmp_qloop_67;
+                   const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_67;
+                   const real_t q_tmp_6_9 = tmp_qloop_61*tmp_qloop_67;
+                   const real_t q_tmp_7_0 = tmp_qloop_25*tmp_qloop_68;
+                   const real_t q_tmp_7_1 = tmp_qloop_29*tmp_qloop_68;
+                   const real_t q_tmp_7_2 = tmp_qloop_31*tmp_qloop_68;
+                   const real_t q_tmp_7_3 = tmp_qloop_33*tmp_qloop_68;
+                   const real_t q_tmp_7_4 = tmp_qloop_40*tmp_qloop_68;
+                   const real_t q_tmp_7_5 = tmp_qloop_47*tmp_qloop_68;
+                   const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_68;
+                   const real_t q_tmp_7_7 = tmp_qloop_56*tmp_qloop_68;
+                   const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_68;
+                   const real_t q_tmp_7_9 = tmp_qloop_61*tmp_qloop_68;
+                   const real_t q_tmp_8_0 = tmp_qloop_25*tmp_qloop_69;
+                   const real_t q_tmp_8_1 = tmp_qloop_29*tmp_qloop_69;
+                   const real_t q_tmp_8_2 = tmp_qloop_31*tmp_qloop_69;
+                   const real_t q_tmp_8_3 = tmp_qloop_33*tmp_qloop_69;
+                   const real_t q_tmp_8_4 = tmp_qloop_40*tmp_qloop_69;
+                   const real_t q_tmp_8_5 = tmp_qloop_47*tmp_qloop_69;
+                   const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_69;
+                   const real_t q_tmp_8_7 = tmp_qloop_56*tmp_qloop_69;
+                   const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_69;
+                   const real_t q_tmp_8_9 = tmp_qloop_61*tmp_qloop_69;
+                   const real_t q_tmp_9_0 = tmp_qloop_25*tmp_qloop_70;
+                   const real_t q_tmp_9_1 = tmp_qloop_29*tmp_qloop_70;
+                   const real_t q_tmp_9_2 = tmp_qloop_31*tmp_qloop_70;
+                   const real_t q_tmp_9_3 = tmp_qloop_33*tmp_qloop_70;
+                   const real_t q_tmp_9_4 = tmp_qloop_40*tmp_qloop_70;
+                   const real_t q_tmp_9_5 = tmp_qloop_47*tmp_qloop_70;
+                   const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_70;
+                   const real_t q_tmp_9_7 = tmp_qloop_56*tmp_qloop_70;
+                   const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_70;
+                   const real_t q_tmp_9_9 = tmp_qloop_61*tmp_qloop_70;
+                   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;
+                   q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                   q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                   q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                   q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                   q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                   q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                   q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                   q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                   q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                   q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                   q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                   q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                   q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                   q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                   q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                   q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                   q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                   q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                   q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                   q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                   q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                   q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                   q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                   q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                   q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                   q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                   q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                   q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                   q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                   q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                   q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                   q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                   q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                   q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                   q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                   q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                   q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                   q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                   q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                   q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                   q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                   q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                   q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                   q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                   q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                   q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                   q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                   q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                   q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+                const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+                const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+                const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+                const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+                const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+                const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+                _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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] = elMatVec_7 + _data_dstEdge[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_dstEdge[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] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_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 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN;
+       const real_t tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN);
+       const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN);
+       const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN);
+       const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN);
+       const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN);
+       {
+          /* CellType.BLUE_DOWN */
+          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 cp_dof_0 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_1 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_2 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_3 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_4 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_5 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_6 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_7 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_8 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_9 = _mm256_loadu_pd(& _data_cpEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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);
+                __m256d q_acc_4_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_1),_mm256_mul_pd(tmp_qloop_13,ux_dof_2)),_mm256_mul_pd(tmp_qloop_16,ux_dof_3)),_mm256_mul_pd(tmp_qloop_17,ux_dof_7)),_mm256_mul_pd(tmp_qloop_18,ux_dof_8)),_mm256_mul_pd(tmp_qloop_20,ux_dof_9)),_mm256_mul_pd(tmp_qloop_21,ux_dof_0)),_mm256_mul_pd(tmp_qloop_5,ux_dof_6)),_mm256_mul_pd(tmp_qloop_6,ux_dof_5)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_1),_mm256_mul_pd(tmp_qloop_13,uy_dof_2)),_mm256_mul_pd(tmp_qloop_16,uy_dof_3)),_mm256_mul_pd(tmp_qloop_17,uy_dof_7)),_mm256_mul_pd(tmp_qloop_18,uy_dof_8)),_mm256_mul_pd(tmp_qloop_20,uy_dof_9)),_mm256_mul_pd(tmp_qloop_21,uy_dof_0)),_mm256_mul_pd(tmp_qloop_5,uy_dof_6)),_mm256_mul_pd(tmp_qloop_6,uy_dof_5)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_1),_mm256_mul_pd(tmp_qloop_13,uz_dof_2)),_mm256_mul_pd(tmp_qloop_16,uz_dof_3)),_mm256_mul_pd(tmp_qloop_17,uz_dof_7)),_mm256_mul_pd(tmp_qloop_18,uz_dof_8)),_mm256_mul_pd(tmp_qloop_20,uz_dof_9)),_mm256_mul_pd(tmp_qloop_21,uz_dof_0)),_mm256_mul_pd(tmp_qloop_5,uz_dof_6)),_mm256_mul_pd(tmp_qloop_6,uz_dof_5)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4));
+                   const __m256d tmp_qloop_25 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))));
+                   const __m256d tmp_qloop_26 = _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(cp_dof_0,tmp_qloop_21),_mm256_mul_pd(cp_dof_1,tmp_qloop_10)),_mm256_mul_pd(cp_dof_2,tmp_qloop_13)),_mm256_mul_pd(cp_dof_3,tmp_qloop_16)),_mm256_mul_pd(cp_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_dof_5,tmp_qloop_6)),_mm256_mul_pd(cp_dof_6,tmp_qloop_5)),_mm256_mul_pd(cp_dof_7,tmp_qloop_17)),_mm256_mul_pd(cp_dof_8,tmp_qloop_18)),_mm256_mul_pd(cp_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN));
+                   const __m256d tmp_qloop_27 = _mm256_mul_pd(tmp_qloop_21,tmp_qloop_26);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_29 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)));
+                   const __m256d tmp_qloop_30 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_31 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_30),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_30),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_30),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)));
+                   const __m256d tmp_qloop_32 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_33 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_32),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_32),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_32),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)));
+                   const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_34,tmp_qloop_35)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_36,tmp_qloop_37))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_38,tmp_qloop_39)));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46)));
+                   const __m256d tmp_qloop_48 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_54 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_48,tmp_qloop_49)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_50,tmp_qloop_51))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_52,tmp_qloop_53)));
+                   const __m256d tmp_qloop_55 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_56 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))));
+                   const __m256d tmp_qloop_57 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_58 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_51,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)))));
+                   const __m256d tmp_qloop_60 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_52,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)))));
+                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_10,tmp_qloop_26);
+                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_26);
+                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_16,tmp_qloop_26);
+                   const __m256d tmp_qloop_65 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_7);
+                   const __m256d tmp_qloop_66 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_6);
+                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_5);
+                   const __m256d tmp_qloop_68 = _mm256_mul_pd(tmp_qloop_17,tmp_qloop_26);
+                   const __m256d tmp_qloop_69 = _mm256_mul_pd(tmp_qloop_18,tmp_qloop_26);
+                   const __m256d tmp_qloop_70 = _mm256_mul_pd(tmp_qloop_20,tmp_qloop_26);
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_27);
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_29);
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_31);
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_33);
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_40);
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_47);
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_54);
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_56);
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_59);
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_61);
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_62);
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_62);
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_62);
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_62);
+                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_62);
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_62);
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_62);
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_62);
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_62);
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_62);
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_63);
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_63);
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_63);
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_63);
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_63);
+                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_63);
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_63);
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_63);
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_63);
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_63);
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_64);
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_64);
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_64);
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_64);
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_64);
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_64);
+                   const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_64);
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_64);
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_64);
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_64);
+                   const __m256d q_tmp_4_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_65);
+                   const __m256d q_tmp_4_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_65);
+                   const __m256d q_tmp_4_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_65);
+                   const __m256d q_tmp_4_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_65);
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_65);
+                   const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_65);
+                   const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_65);
+                   const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_65);
+                   const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_65);
+                   const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_65);
+                   const __m256d q_tmp_5_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_66);
+                   const __m256d q_tmp_5_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_66);
+                   const __m256d q_tmp_5_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_66);
+                   const __m256d q_tmp_5_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_66);
+                   const __m256d q_tmp_5_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_66);
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_66);
+                   const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_66);
+                   const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_66);
+                   const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_66);
+                   const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_66);
+                   const __m256d q_tmp_6_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_67);
+                   const __m256d q_tmp_6_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_67);
+                   const __m256d q_tmp_6_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_67);
+                   const __m256d q_tmp_6_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_67);
+                   const __m256d q_tmp_6_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_67);
+                   const __m256d q_tmp_6_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_67);
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_67);
+                   const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_67);
+                   const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_67);
+                   const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_67);
+                   const __m256d q_tmp_7_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_68);
+                   const __m256d q_tmp_7_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_68);
+                   const __m256d q_tmp_7_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_68);
+                   const __m256d q_tmp_7_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_68);
+                   const __m256d q_tmp_7_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_68);
+                   const __m256d q_tmp_7_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_68);
+                   const __m256d q_tmp_7_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_68);
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_68);
+                   const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_68);
+                   const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_68);
+                   const __m256d q_tmp_8_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_69);
+                   const __m256d q_tmp_8_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_69);
+                   const __m256d q_tmp_8_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_69);
+                   const __m256d q_tmp_8_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_69);
+                   const __m256d q_tmp_8_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_69);
+                   const __m256d q_tmp_8_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_69);
+                   const __m256d q_tmp_8_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_69);
+                   const __m256d q_tmp_8_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_69);
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_69);
+                   const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_69);
+                   const __m256d q_tmp_9_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_70);
+                   const __m256d q_tmp_9_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_70);
+                   const __m256d q_tmp_9_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_70);
+                   const __m256d q_tmp_9_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_70);
+                   const __m256d q_tmp_9_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_70);
+                   const __m256d q_tmp_9_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_70);
+                   const __m256d q_tmp_9_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_70);
+                   const __m256d q_tmp_9_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_70);
+                   const __m256d q_tmp_9_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_70);
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_70);
+                   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);
+                   q_acc_4_0 = _mm256_add_pd(q_acc_4_0,q_tmp_4_0);
+                   q_acc_4_1 = _mm256_add_pd(q_acc_4_1,q_tmp_4_1);
+                   q_acc_4_2 = _mm256_add_pd(q_acc_4_2,q_tmp_4_2);
+                   q_acc_4_3 = _mm256_add_pd(q_acc_4_3,q_tmp_4_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5);
+                   q_acc_4_6 = _mm256_add_pd(q_acc_4_6,q_tmp_4_6);
+                   q_acc_4_7 = _mm256_add_pd(q_acc_4_7,q_tmp_4_7);
+                   q_acc_4_8 = _mm256_add_pd(q_acc_4_8,q_tmp_4_8);
+                   q_acc_4_9 = _mm256_add_pd(q_acc_4_9,q_tmp_4_9);
+                   q_acc_5_0 = _mm256_add_pd(q_acc_5_0,q_tmp_5_0);
+                   q_acc_5_1 = _mm256_add_pd(q_acc_5_1,q_tmp_5_1);
+                   q_acc_5_2 = _mm256_add_pd(q_acc_5_2,q_tmp_5_2);
+                   q_acc_5_3 = _mm256_add_pd(q_acc_5_3,q_tmp_5_3);
+                   q_acc_5_4 = _mm256_add_pd(q_acc_5_4,q_tmp_5_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_5_6 = _mm256_add_pd(q_acc_5_6,q_tmp_5_6);
+                   q_acc_5_7 = _mm256_add_pd(q_acc_5_7,q_tmp_5_7);
+                   q_acc_5_8 = _mm256_add_pd(q_acc_5_8,q_tmp_5_8);
+                   q_acc_5_9 = _mm256_add_pd(q_acc_5_9,q_tmp_5_9);
+                   q_acc_6_0 = _mm256_add_pd(q_acc_6_0,q_tmp_6_0);
+                   q_acc_6_1 = _mm256_add_pd(q_acc_6_1,q_tmp_6_1);
+                   q_acc_6_2 = _mm256_add_pd(q_acc_6_2,q_tmp_6_2);
+                   q_acc_6_3 = _mm256_add_pd(q_acc_6_3,q_tmp_6_3);
+                   q_acc_6_4 = _mm256_add_pd(q_acc_6_4,q_tmp_6_4);
+                   q_acc_6_5 = _mm256_add_pd(q_acc_6_5,q_tmp_6_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_6_7 = _mm256_add_pd(q_acc_6_7,q_tmp_6_7);
+                   q_acc_6_8 = _mm256_add_pd(q_acc_6_8,q_tmp_6_8);
+                   q_acc_6_9 = _mm256_add_pd(q_acc_6_9,q_tmp_6_9);
+                   q_acc_7_0 = _mm256_add_pd(q_acc_7_0,q_tmp_7_0);
+                   q_acc_7_1 = _mm256_add_pd(q_acc_7_1,q_tmp_7_1);
+                   q_acc_7_2 = _mm256_add_pd(q_acc_7_2,q_tmp_7_2);
+                   q_acc_7_3 = _mm256_add_pd(q_acc_7_3,q_tmp_7_3);
+                   q_acc_7_4 = _mm256_add_pd(q_acc_7_4,q_tmp_7_4);
+                   q_acc_7_5 = _mm256_add_pd(q_acc_7_5,q_tmp_7_5);
+                   q_acc_7_6 = _mm256_add_pd(q_acc_7_6,q_tmp_7_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_7_8 = _mm256_add_pd(q_acc_7_8,q_tmp_7_8);
+                   q_acc_7_9 = _mm256_add_pd(q_acc_7_9,q_tmp_7_9);
+                   q_acc_8_0 = _mm256_add_pd(q_acc_8_0,q_tmp_8_0);
+                   q_acc_8_1 = _mm256_add_pd(q_acc_8_1,q_tmp_8_1);
+                   q_acc_8_2 = _mm256_add_pd(q_acc_8_2,q_tmp_8_2);
+                   q_acc_8_3 = _mm256_add_pd(q_acc_8_3,q_tmp_8_3);
+                   q_acc_8_4 = _mm256_add_pd(q_acc_8_4,q_tmp_8_4);
+                   q_acc_8_5 = _mm256_add_pd(q_acc_8_5,q_tmp_8_5);
+                   q_acc_8_6 = _mm256_add_pd(q_acc_8_6,q_tmp_8_6);
+                   q_acc_8_7 = _mm256_add_pd(q_acc_8_7,q_tmp_8_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_8_9 = _mm256_add_pd(q_acc_8_9,q_tmp_8_9);
+                   q_acc_9_0 = _mm256_add_pd(q_acc_9_0,q_tmp_9_0);
+                   q_acc_9_1 = _mm256_add_pd(q_acc_9_1,q_tmp_9_1);
+                   q_acc_9_2 = _mm256_add_pd(q_acc_9_2,q_tmp_9_2);
+                   q_acc_9_3 = _mm256_add_pd(q_acc_9_3,q_tmp_9_3);
+                   q_acc_9_4 = _mm256_add_pd(q_acc_9_4,q_tmp_9_4);
+                   q_acc_9_5 = _mm256_add_pd(q_acc_9_5,q_tmp_9_5);
+                   q_acc_9_6 = _mm256_add_pd(q_acc_9_6,q_tmp_9_6);
+                   q_acc_9_7 = _mm256_add_pd(q_acc_9_7,q_tmp_9_7);
+                   q_acc_9_8 = _mm256_add_pd(q_acc_9_8,q_tmp_9_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_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));
+                const __m256d elMatVec_4 = _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_4_0,src_dof_0),_mm256_mul_pd(q_acc_4_1,src_dof_1)),_mm256_mul_pd(q_acc_4_2,src_dof_2)),_mm256_mul_pd(q_acc_4_3,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)),_mm256_mul_pd(q_acc_4_6,src_dof_6)),_mm256_mul_pd(q_acc_4_7,src_dof_7)),_mm256_mul_pd(q_acc_4_8,src_dof_8)),_mm256_mul_pd(q_acc_4_9,src_dof_9));
+                const __m256d elMatVec_5 = _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_5_0,src_dof_0),_mm256_mul_pd(q_acc_5_1,src_dof_1)),_mm256_mul_pd(q_acc_5_2,src_dof_2)),_mm256_mul_pd(q_acc_5_3,src_dof_3)),_mm256_mul_pd(q_acc_5_4,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)),_mm256_mul_pd(q_acc_5_6,src_dof_6)),_mm256_mul_pd(q_acc_5_7,src_dof_7)),_mm256_mul_pd(q_acc_5_8,src_dof_8)),_mm256_mul_pd(q_acc_5_9,src_dof_9));
+                const __m256d elMatVec_6 = _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_6_0,src_dof_0),_mm256_mul_pd(q_acc_6_1,src_dof_1)),_mm256_mul_pd(q_acc_6_2,src_dof_2)),_mm256_mul_pd(q_acc_6_3,src_dof_3)),_mm256_mul_pd(q_acc_6_4,src_dof_4)),_mm256_mul_pd(q_acc_6_5,src_dof_5)),_mm256_mul_pd(q_acc_6_6,src_dof_6)),_mm256_mul_pd(q_acc_6_7,src_dof_7)),_mm256_mul_pd(q_acc_6_8,src_dof_8)),_mm256_mul_pd(q_acc_6_9,src_dof_9));
+                const __m256d elMatVec_7 = _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_7_0,src_dof_0),_mm256_mul_pd(q_acc_7_1,src_dof_1)),_mm256_mul_pd(q_acc_7_2,src_dof_2)),_mm256_mul_pd(q_acc_7_3,src_dof_3)),_mm256_mul_pd(q_acc_7_4,src_dof_4)),_mm256_mul_pd(q_acc_7_5,src_dof_5)),_mm256_mul_pd(q_acc_7_6,src_dof_6)),_mm256_mul_pd(q_acc_7_7,src_dof_7)),_mm256_mul_pd(q_acc_7_8,src_dof_8)),_mm256_mul_pd(q_acc_7_9,src_dof_9));
+                const __m256d elMatVec_8 = _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_8_0,src_dof_0),_mm256_mul_pd(q_acc_8_1,src_dof_1)),_mm256_mul_pd(q_acc_8_2,src_dof_2)),_mm256_mul_pd(q_acc_8_3,src_dof_3)),_mm256_mul_pd(q_acc_8_4,src_dof_4)),_mm256_mul_pd(q_acc_8_5,src_dof_5)),_mm256_mul_pd(q_acc_8_6,src_dof_6)),_mm256_mul_pd(q_acc_8_7,src_dof_7)),_mm256_mul_pd(q_acc_8_8,src_dof_8)),_mm256_mul_pd(q_acc_8_9,src_dof_9));
+                const __m256d elMatVec_9 = _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_9_0,src_dof_0),_mm256_mul_pd(q_acc_9_1,src_dof_1)),_mm256_mul_pd(q_acc_9_2,src_dof_2)),_mm256_mul_pd(q_acc_9_3,src_dof_3)),_mm256_mul_pd(q_acc_9_4,src_dof_4)),_mm256_mul_pd(q_acc_9_5,src_dof_5)),_mm256_mul_pd(q_acc_9_6,src_dof_6)),_mm256_mul_pd(q_acc_9_7,src_dof_7)),_mm256_mul_pd(q_acc_9_8,src_dof_8)),_mm256_mul_pd(q_acc_9_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_6,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_7,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_8,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_9,_mm256_loadu_pd(& _data_dstEdge[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))])));
+             }
+             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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+                real_t q_acc_4_0 = 0.0;
+                real_t q_acc_4_1 = 0.0;
+                real_t q_acc_4_2 = 0.0;
+                real_t q_acc_4_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_4_5 = 0.0;
+                real_t q_acc_4_6 = 0.0;
+                real_t q_acc_4_7 = 0.0;
+                real_t q_acc_4_8 = 0.0;
+                real_t q_acc_4_9 = 0.0;
+                real_t q_acc_5_0 = 0.0;
+                real_t q_acc_5_1 = 0.0;
+                real_t q_acc_5_2 = 0.0;
+                real_t q_acc_5_3 = 0.0;
+                real_t q_acc_5_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_5_6 = 0.0;
+                real_t q_acc_5_7 = 0.0;
+                real_t q_acc_5_8 = 0.0;
+                real_t q_acc_5_9 = 0.0;
+                real_t q_acc_6_0 = 0.0;
+                real_t q_acc_6_1 = 0.0;
+                real_t q_acc_6_2 = 0.0;
+                real_t q_acc_6_3 = 0.0;
+                real_t q_acc_6_4 = 0.0;
+                real_t q_acc_6_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_6_7 = 0.0;
+                real_t q_acc_6_8 = 0.0;
+                real_t q_acc_6_9 = 0.0;
+                real_t q_acc_7_0 = 0.0;
+                real_t q_acc_7_1 = 0.0;
+                real_t q_acc_7_2 = 0.0;
+                real_t q_acc_7_3 = 0.0;
+                real_t q_acc_7_4 = 0.0;
+                real_t q_acc_7_5 = 0.0;
+                real_t q_acc_7_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_7_8 = 0.0;
+                real_t q_acc_7_9 = 0.0;
+                real_t q_acc_8_0 = 0.0;
+                real_t q_acc_8_1 = 0.0;
+                real_t q_acc_8_2 = 0.0;
+                real_t q_acc_8_3 = 0.0;
+                real_t q_acc_8_4 = 0.0;
+                real_t q_acc_8_5 = 0.0;
+                real_t q_acc_8_6 = 0.0;
+                real_t q_acc_8_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_8_9 = 0.0;
+                real_t q_acc_9_0 = 0.0;
+                real_t q_acc_9_1 = 0.0;
+                real_t q_acc_9_2 = 0.0;
+                real_t q_acc_9_3 = 0.0;
+                real_t q_acc_9_4 = 0.0;
+                real_t q_acc_9_5 = 0.0;
+                real_t q_acc_9_6 = 0.0;
+                real_t q_acc_9_7 = 0.0;
+                real_t q_acc_9_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                   const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_4);
+                   const real_t tmp_qloop_26 = abs_det_jac_affine_BLUE_DOWN*(cp_dof_0*tmp_qloop_21 + cp_dof_1*tmp_qloop_10 + cp_dof_2*tmp_qloop_13 + cp_dof_3*tmp_qloop_16 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_6 + cp_dof_6*tmp_qloop_5 + cp_dof_7*tmp_qloop_17 + cp_dof_8*tmp_qloop_18 + cp_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_27 = tmp_qloop_21*tmp_qloop_26;
+                   const real_t tmp_qloop_28 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_29 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_28;
+                   const real_t tmp_qloop_30 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_31 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_30 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_30 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_30;
+                   const real_t tmp_qloop_32 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_33 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_32 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_32 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_32;
+                   const real_t tmp_qloop_34 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_35 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_36 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_37 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_38 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_39 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_40 = tmp_qloop_22*(tmp_qloop_34 + tmp_qloop_35) + tmp_qloop_23*(tmp_qloop_36 + tmp_qloop_37) + tmp_qloop_24*(tmp_qloop_38 + tmp_qloop_39);
+                   const real_t tmp_qloop_41 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_42 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_43 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_44 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_45 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_47 = tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46);
+                   const real_t tmp_qloop_48 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_49 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_50 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_51 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_52 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_53 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_54 = tmp_qloop_22*(tmp_qloop_48 + tmp_qloop_49) + tmp_qloop_23*(tmp_qloop_50 + tmp_qloop_51) + tmp_qloop_24*(tmp_qloop_52 + tmp_qloop_53);
+                   const real_t tmp_qloop_55 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_56 = tmp_qloop_22*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_55 - tmp_qloop_35 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_55 - tmp_qloop_37 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_55 - tmp_qloop_39 - tmp_qloop_46);
+                   const real_t tmp_qloop_57 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_58 = -tmp_qloop_1 - tmp_qloop_57 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_59 = tmp_qloop_22*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_58 - tmp_qloop_34 - tmp_qloop_49) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_58 - tmp_qloop_36 - tmp_qloop_51) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_53);
+                   const real_t tmp_qloop_60 = -tmp_qloop_2 - tmp_qloop_57 - 8.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_61 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_60 - tmp_qloop_41 - tmp_qloop_48) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_60 - tmp_qloop_43 - tmp_qloop_50) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_60 - tmp_qloop_45 - tmp_qloop_52);
+                   const real_t tmp_qloop_62 = tmp_qloop_10*tmp_qloop_26;
+                   const real_t tmp_qloop_63 = tmp_qloop_13*tmp_qloop_26;
+                   const real_t tmp_qloop_64 = tmp_qloop_16*tmp_qloop_26;
+                   const real_t tmp_qloop_65 = tmp_qloop_26*tmp_qloop_7;
+                   const real_t tmp_qloop_66 = tmp_qloop_26*tmp_qloop_6;
+                   const real_t tmp_qloop_67 = tmp_qloop_26*tmp_qloop_5;
+                   const real_t tmp_qloop_68 = tmp_qloop_17*tmp_qloop_26;
+                   const real_t tmp_qloop_69 = tmp_qloop_18*tmp_qloop_26;
+                   const real_t tmp_qloop_70 = tmp_qloop_20*tmp_qloop_26;
+                   const real_t q_tmp_0_0 = tmp_qloop_25*tmp_qloop_27;
+                   const real_t q_tmp_0_1 = tmp_qloop_27*tmp_qloop_29;
+                   const real_t q_tmp_0_2 = tmp_qloop_27*tmp_qloop_31;
+                   const real_t q_tmp_0_3 = tmp_qloop_27*tmp_qloop_33;
+                   const real_t q_tmp_0_4 = tmp_qloop_27*tmp_qloop_40;
+                   const real_t q_tmp_0_5 = tmp_qloop_27*tmp_qloop_47;
+                   const real_t q_tmp_0_6 = tmp_qloop_27*tmp_qloop_54;
+                   const real_t q_tmp_0_7 = tmp_qloop_27*tmp_qloop_56;
+                   const real_t q_tmp_0_8 = tmp_qloop_27*tmp_qloop_59;
+                   const real_t q_tmp_0_9 = tmp_qloop_27*tmp_qloop_61;
+                   const real_t q_tmp_1_0 = tmp_qloop_25*tmp_qloop_62;
+                   const real_t q_tmp_1_1 = tmp_qloop_29*tmp_qloop_62;
+                   const real_t q_tmp_1_2 = tmp_qloop_31*tmp_qloop_62;
+                   const real_t q_tmp_1_3 = tmp_qloop_33*tmp_qloop_62;
+                   const real_t q_tmp_1_4 = tmp_qloop_40*tmp_qloop_62;
+                   const real_t q_tmp_1_5 = tmp_qloop_47*tmp_qloop_62;
+                   const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                   const real_t q_tmp_1_7 = tmp_qloop_56*tmp_qloop_62;
+                   const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                   const real_t q_tmp_1_9 = tmp_qloop_61*tmp_qloop_62;
+                   const real_t q_tmp_2_0 = tmp_qloop_25*tmp_qloop_63;
+                   const real_t q_tmp_2_1 = tmp_qloop_29*tmp_qloop_63;
+                   const real_t q_tmp_2_2 = tmp_qloop_31*tmp_qloop_63;
+                   const real_t q_tmp_2_3 = tmp_qloop_33*tmp_qloop_63;
+                   const real_t q_tmp_2_4 = tmp_qloop_40*tmp_qloop_63;
+                   const real_t q_tmp_2_5 = tmp_qloop_47*tmp_qloop_63;
+                   const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_63;
+                   const real_t q_tmp_2_7 = tmp_qloop_56*tmp_qloop_63;
+                   const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_63;
+                   const real_t q_tmp_2_9 = tmp_qloop_61*tmp_qloop_63;
+                   const real_t q_tmp_3_0 = tmp_qloop_25*tmp_qloop_64;
+                   const real_t q_tmp_3_1 = tmp_qloop_29*tmp_qloop_64;
+                   const real_t q_tmp_3_2 = tmp_qloop_31*tmp_qloop_64;
+                   const real_t q_tmp_3_3 = tmp_qloop_33*tmp_qloop_64;
+                   const real_t q_tmp_3_4 = tmp_qloop_40*tmp_qloop_64;
+                   const real_t q_tmp_3_5 = tmp_qloop_47*tmp_qloop_64;
+                   const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_64;
+                   const real_t q_tmp_3_7 = tmp_qloop_56*tmp_qloop_64;
+                   const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_64;
+                   const real_t q_tmp_3_9 = tmp_qloop_61*tmp_qloop_64;
+                   const real_t q_tmp_4_0 = tmp_qloop_25*tmp_qloop_65;
+                   const real_t q_tmp_4_1 = tmp_qloop_29*tmp_qloop_65;
+                   const real_t q_tmp_4_2 = tmp_qloop_31*tmp_qloop_65;
+                   const real_t q_tmp_4_3 = tmp_qloop_33*tmp_qloop_65;
+                   const real_t q_tmp_4_4 = tmp_qloop_40*tmp_qloop_65;
+                   const real_t q_tmp_4_5 = tmp_qloop_47*tmp_qloop_65;
+                   const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_65;
+                   const real_t q_tmp_4_7 = tmp_qloop_56*tmp_qloop_65;
+                   const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_65;
+                   const real_t q_tmp_4_9 = tmp_qloop_61*tmp_qloop_65;
+                   const real_t q_tmp_5_0 = tmp_qloop_25*tmp_qloop_66;
+                   const real_t q_tmp_5_1 = tmp_qloop_29*tmp_qloop_66;
+                   const real_t q_tmp_5_2 = tmp_qloop_31*tmp_qloop_66;
+                   const real_t q_tmp_5_3 = tmp_qloop_33*tmp_qloop_66;
+                   const real_t q_tmp_5_4 = tmp_qloop_40*tmp_qloop_66;
+                   const real_t q_tmp_5_5 = tmp_qloop_47*tmp_qloop_66;
+                   const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_66;
+                   const real_t q_tmp_5_7 = tmp_qloop_56*tmp_qloop_66;
+                   const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_66;
+                   const real_t q_tmp_5_9 = tmp_qloop_61*tmp_qloop_66;
+                   const real_t q_tmp_6_0 = tmp_qloop_25*tmp_qloop_67;
+                   const real_t q_tmp_6_1 = tmp_qloop_29*tmp_qloop_67;
+                   const real_t q_tmp_6_2 = tmp_qloop_31*tmp_qloop_67;
+                   const real_t q_tmp_6_3 = tmp_qloop_33*tmp_qloop_67;
+                   const real_t q_tmp_6_4 = tmp_qloop_40*tmp_qloop_67;
+                   const real_t q_tmp_6_5 = tmp_qloop_47*tmp_qloop_67;
+                   const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_67;
+                   const real_t q_tmp_6_7 = tmp_qloop_56*tmp_qloop_67;
+                   const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_67;
+                   const real_t q_tmp_6_9 = tmp_qloop_61*tmp_qloop_67;
+                   const real_t q_tmp_7_0 = tmp_qloop_25*tmp_qloop_68;
+                   const real_t q_tmp_7_1 = tmp_qloop_29*tmp_qloop_68;
+                   const real_t q_tmp_7_2 = tmp_qloop_31*tmp_qloop_68;
+                   const real_t q_tmp_7_3 = tmp_qloop_33*tmp_qloop_68;
+                   const real_t q_tmp_7_4 = tmp_qloop_40*tmp_qloop_68;
+                   const real_t q_tmp_7_5 = tmp_qloop_47*tmp_qloop_68;
+                   const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_68;
+                   const real_t q_tmp_7_7 = tmp_qloop_56*tmp_qloop_68;
+                   const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_68;
+                   const real_t q_tmp_7_9 = tmp_qloop_61*tmp_qloop_68;
+                   const real_t q_tmp_8_0 = tmp_qloop_25*tmp_qloop_69;
+                   const real_t q_tmp_8_1 = tmp_qloop_29*tmp_qloop_69;
+                   const real_t q_tmp_8_2 = tmp_qloop_31*tmp_qloop_69;
+                   const real_t q_tmp_8_3 = tmp_qloop_33*tmp_qloop_69;
+                   const real_t q_tmp_8_4 = tmp_qloop_40*tmp_qloop_69;
+                   const real_t q_tmp_8_5 = tmp_qloop_47*tmp_qloop_69;
+                   const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_69;
+                   const real_t q_tmp_8_7 = tmp_qloop_56*tmp_qloop_69;
+                   const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_69;
+                   const real_t q_tmp_8_9 = tmp_qloop_61*tmp_qloop_69;
+                   const real_t q_tmp_9_0 = tmp_qloop_25*tmp_qloop_70;
+                   const real_t q_tmp_9_1 = tmp_qloop_29*tmp_qloop_70;
+                   const real_t q_tmp_9_2 = tmp_qloop_31*tmp_qloop_70;
+                   const real_t q_tmp_9_3 = tmp_qloop_33*tmp_qloop_70;
+                   const real_t q_tmp_9_4 = tmp_qloop_40*tmp_qloop_70;
+                   const real_t q_tmp_9_5 = tmp_qloop_47*tmp_qloop_70;
+                   const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_70;
+                   const real_t q_tmp_9_7 = tmp_qloop_56*tmp_qloop_70;
+                   const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_70;
+                   const real_t q_tmp_9_9 = tmp_qloop_61*tmp_qloop_70;
+                   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;
+                   q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                   q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                   q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                   q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                   q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                   q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                   q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                   q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                   q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                   q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                   q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                   q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                   q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                   q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                   q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                   q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                   q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                   q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                   q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                   q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                   q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                   q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                   q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                   q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                   q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                   q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                   q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                   q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                   q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                   q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                   q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                   q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                   q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                   q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                   q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                   q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                   q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                   q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                   q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                   q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                   q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                   q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                   q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                   q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                   q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                   q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                   q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                   q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                   q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+                const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+                const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+                const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+                const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+                const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+                const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+                _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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))] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_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 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_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 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_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 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP;
+       const real_t tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP);
+       const real_t jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP);
+       const real_t jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP);
+       const real_t jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP);
+       const real_t jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP);
+       {
+          /* CellType.GREEN_UP */
+          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 cp_dof_0 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_1 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_2 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_3 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_4 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_5 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_6 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_7 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_8 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_9 = _mm256_loadu_pd(& _data_cpEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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);
+                __m256d q_acc_4_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_1),_mm256_mul_pd(tmp_qloop_13,ux_dof_2)),_mm256_mul_pd(tmp_qloop_16,ux_dof_3)),_mm256_mul_pd(tmp_qloop_17,ux_dof_7)),_mm256_mul_pd(tmp_qloop_18,ux_dof_8)),_mm256_mul_pd(tmp_qloop_20,ux_dof_9)),_mm256_mul_pd(tmp_qloop_21,ux_dof_0)),_mm256_mul_pd(tmp_qloop_5,ux_dof_6)),_mm256_mul_pd(tmp_qloop_6,ux_dof_5)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_1),_mm256_mul_pd(tmp_qloop_13,uy_dof_2)),_mm256_mul_pd(tmp_qloop_16,uy_dof_3)),_mm256_mul_pd(tmp_qloop_17,uy_dof_7)),_mm256_mul_pd(tmp_qloop_18,uy_dof_8)),_mm256_mul_pd(tmp_qloop_20,uy_dof_9)),_mm256_mul_pd(tmp_qloop_21,uy_dof_0)),_mm256_mul_pd(tmp_qloop_5,uy_dof_6)),_mm256_mul_pd(tmp_qloop_6,uy_dof_5)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_1),_mm256_mul_pd(tmp_qloop_13,uz_dof_2)),_mm256_mul_pd(tmp_qloop_16,uz_dof_3)),_mm256_mul_pd(tmp_qloop_17,uz_dof_7)),_mm256_mul_pd(tmp_qloop_18,uz_dof_8)),_mm256_mul_pd(tmp_qloop_20,uz_dof_9)),_mm256_mul_pd(tmp_qloop_21,uz_dof_0)),_mm256_mul_pd(tmp_qloop_5,uz_dof_6)),_mm256_mul_pd(tmp_qloop_6,uz_dof_5)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4));
+                   const __m256d tmp_qloop_25 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))));
+                   const __m256d tmp_qloop_26 = _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(cp_dof_0,tmp_qloop_21),_mm256_mul_pd(cp_dof_1,tmp_qloop_10)),_mm256_mul_pd(cp_dof_2,tmp_qloop_13)),_mm256_mul_pd(cp_dof_3,tmp_qloop_16)),_mm256_mul_pd(cp_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_dof_5,tmp_qloop_6)),_mm256_mul_pd(cp_dof_6,tmp_qloop_5)),_mm256_mul_pd(cp_dof_7,tmp_qloop_17)),_mm256_mul_pd(cp_dof_8,tmp_qloop_18)),_mm256_mul_pd(cp_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP));
+                   const __m256d tmp_qloop_27 = _mm256_mul_pd(tmp_qloop_21,tmp_qloop_26);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_29 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)));
+                   const __m256d tmp_qloop_30 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_31 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_30),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_30),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_30),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)));
+                   const __m256d tmp_qloop_32 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_33 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_32),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_32),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_32),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)));
+                   const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP));
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP));
+                   const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_34,tmp_qloop_35)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_36,tmp_qloop_37))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_38,tmp_qloop_39)));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP));
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46)));
+                   const __m256d tmp_qloop_48 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP));
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP));
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP));
+                   const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP));
+                   const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP));
+                   const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP));
+                   const __m256d tmp_qloop_54 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_48,tmp_qloop_49)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_50,tmp_qloop_51))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_52,tmp_qloop_53)));
+                   const __m256d tmp_qloop_55 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_56 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))));
+                   const __m256d tmp_qloop_57 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_58 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_51,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)))));
+                   const __m256d tmp_qloop_60 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_52,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)))));
+                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_10,tmp_qloop_26);
+                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_26);
+                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_16,tmp_qloop_26);
+                   const __m256d tmp_qloop_65 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_7);
+                   const __m256d tmp_qloop_66 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_6);
+                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_5);
+                   const __m256d tmp_qloop_68 = _mm256_mul_pd(tmp_qloop_17,tmp_qloop_26);
+                   const __m256d tmp_qloop_69 = _mm256_mul_pd(tmp_qloop_18,tmp_qloop_26);
+                   const __m256d tmp_qloop_70 = _mm256_mul_pd(tmp_qloop_20,tmp_qloop_26);
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_27);
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_29);
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_31);
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_33);
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_40);
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_47);
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_54);
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_56);
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_59);
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_61);
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_62);
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_62);
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_62);
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_62);
+                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_62);
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_62);
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_62);
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_62);
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_62);
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_62);
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_63);
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_63);
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_63);
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_63);
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_63);
+                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_63);
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_63);
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_63);
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_63);
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_63);
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_64);
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_64);
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_64);
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_64);
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_64);
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_64);
+                   const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_64);
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_64);
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_64);
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_64);
+                   const __m256d q_tmp_4_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_65);
+                   const __m256d q_tmp_4_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_65);
+                   const __m256d q_tmp_4_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_65);
+                   const __m256d q_tmp_4_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_65);
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_65);
+                   const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_65);
+                   const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_65);
+                   const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_65);
+                   const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_65);
+                   const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_65);
+                   const __m256d q_tmp_5_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_66);
+                   const __m256d q_tmp_5_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_66);
+                   const __m256d q_tmp_5_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_66);
+                   const __m256d q_tmp_5_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_66);
+                   const __m256d q_tmp_5_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_66);
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_66);
+                   const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_66);
+                   const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_66);
+                   const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_66);
+                   const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_66);
+                   const __m256d q_tmp_6_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_67);
+                   const __m256d q_tmp_6_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_67);
+                   const __m256d q_tmp_6_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_67);
+                   const __m256d q_tmp_6_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_67);
+                   const __m256d q_tmp_6_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_67);
+                   const __m256d q_tmp_6_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_67);
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_67);
+                   const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_67);
+                   const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_67);
+                   const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_67);
+                   const __m256d q_tmp_7_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_68);
+                   const __m256d q_tmp_7_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_68);
+                   const __m256d q_tmp_7_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_68);
+                   const __m256d q_tmp_7_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_68);
+                   const __m256d q_tmp_7_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_68);
+                   const __m256d q_tmp_7_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_68);
+                   const __m256d q_tmp_7_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_68);
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_68);
+                   const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_68);
+                   const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_68);
+                   const __m256d q_tmp_8_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_69);
+                   const __m256d q_tmp_8_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_69);
+                   const __m256d q_tmp_8_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_69);
+                   const __m256d q_tmp_8_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_69);
+                   const __m256d q_tmp_8_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_69);
+                   const __m256d q_tmp_8_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_69);
+                   const __m256d q_tmp_8_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_69);
+                   const __m256d q_tmp_8_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_69);
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_69);
+                   const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_69);
+                   const __m256d q_tmp_9_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_70);
+                   const __m256d q_tmp_9_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_70);
+                   const __m256d q_tmp_9_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_70);
+                   const __m256d q_tmp_9_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_70);
+                   const __m256d q_tmp_9_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_70);
+                   const __m256d q_tmp_9_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_70);
+                   const __m256d q_tmp_9_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_70);
+                   const __m256d q_tmp_9_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_70);
+                   const __m256d q_tmp_9_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_70);
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_70);
+                   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);
+                   q_acc_4_0 = _mm256_add_pd(q_acc_4_0,q_tmp_4_0);
+                   q_acc_4_1 = _mm256_add_pd(q_acc_4_1,q_tmp_4_1);
+                   q_acc_4_2 = _mm256_add_pd(q_acc_4_2,q_tmp_4_2);
+                   q_acc_4_3 = _mm256_add_pd(q_acc_4_3,q_tmp_4_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5);
+                   q_acc_4_6 = _mm256_add_pd(q_acc_4_6,q_tmp_4_6);
+                   q_acc_4_7 = _mm256_add_pd(q_acc_4_7,q_tmp_4_7);
+                   q_acc_4_8 = _mm256_add_pd(q_acc_4_8,q_tmp_4_8);
+                   q_acc_4_9 = _mm256_add_pd(q_acc_4_9,q_tmp_4_9);
+                   q_acc_5_0 = _mm256_add_pd(q_acc_5_0,q_tmp_5_0);
+                   q_acc_5_1 = _mm256_add_pd(q_acc_5_1,q_tmp_5_1);
+                   q_acc_5_2 = _mm256_add_pd(q_acc_5_2,q_tmp_5_2);
+                   q_acc_5_3 = _mm256_add_pd(q_acc_5_3,q_tmp_5_3);
+                   q_acc_5_4 = _mm256_add_pd(q_acc_5_4,q_tmp_5_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_5_6 = _mm256_add_pd(q_acc_5_6,q_tmp_5_6);
+                   q_acc_5_7 = _mm256_add_pd(q_acc_5_7,q_tmp_5_7);
+                   q_acc_5_8 = _mm256_add_pd(q_acc_5_8,q_tmp_5_8);
+                   q_acc_5_9 = _mm256_add_pd(q_acc_5_9,q_tmp_5_9);
+                   q_acc_6_0 = _mm256_add_pd(q_acc_6_0,q_tmp_6_0);
+                   q_acc_6_1 = _mm256_add_pd(q_acc_6_1,q_tmp_6_1);
+                   q_acc_6_2 = _mm256_add_pd(q_acc_6_2,q_tmp_6_2);
+                   q_acc_6_3 = _mm256_add_pd(q_acc_6_3,q_tmp_6_3);
+                   q_acc_6_4 = _mm256_add_pd(q_acc_6_4,q_tmp_6_4);
+                   q_acc_6_5 = _mm256_add_pd(q_acc_6_5,q_tmp_6_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_6_7 = _mm256_add_pd(q_acc_6_7,q_tmp_6_7);
+                   q_acc_6_8 = _mm256_add_pd(q_acc_6_8,q_tmp_6_8);
+                   q_acc_6_9 = _mm256_add_pd(q_acc_6_9,q_tmp_6_9);
+                   q_acc_7_0 = _mm256_add_pd(q_acc_7_0,q_tmp_7_0);
+                   q_acc_7_1 = _mm256_add_pd(q_acc_7_1,q_tmp_7_1);
+                   q_acc_7_2 = _mm256_add_pd(q_acc_7_2,q_tmp_7_2);
+                   q_acc_7_3 = _mm256_add_pd(q_acc_7_3,q_tmp_7_3);
+                   q_acc_7_4 = _mm256_add_pd(q_acc_7_4,q_tmp_7_4);
+                   q_acc_7_5 = _mm256_add_pd(q_acc_7_5,q_tmp_7_5);
+                   q_acc_7_6 = _mm256_add_pd(q_acc_7_6,q_tmp_7_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_7_8 = _mm256_add_pd(q_acc_7_8,q_tmp_7_8);
+                   q_acc_7_9 = _mm256_add_pd(q_acc_7_9,q_tmp_7_9);
+                   q_acc_8_0 = _mm256_add_pd(q_acc_8_0,q_tmp_8_0);
+                   q_acc_8_1 = _mm256_add_pd(q_acc_8_1,q_tmp_8_1);
+                   q_acc_8_2 = _mm256_add_pd(q_acc_8_2,q_tmp_8_2);
+                   q_acc_8_3 = _mm256_add_pd(q_acc_8_3,q_tmp_8_3);
+                   q_acc_8_4 = _mm256_add_pd(q_acc_8_4,q_tmp_8_4);
+                   q_acc_8_5 = _mm256_add_pd(q_acc_8_5,q_tmp_8_5);
+                   q_acc_8_6 = _mm256_add_pd(q_acc_8_6,q_tmp_8_6);
+                   q_acc_8_7 = _mm256_add_pd(q_acc_8_7,q_tmp_8_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_8_9 = _mm256_add_pd(q_acc_8_9,q_tmp_8_9);
+                   q_acc_9_0 = _mm256_add_pd(q_acc_9_0,q_tmp_9_0);
+                   q_acc_9_1 = _mm256_add_pd(q_acc_9_1,q_tmp_9_1);
+                   q_acc_9_2 = _mm256_add_pd(q_acc_9_2,q_tmp_9_2);
+                   q_acc_9_3 = _mm256_add_pd(q_acc_9_3,q_tmp_9_3);
+                   q_acc_9_4 = _mm256_add_pd(q_acc_9_4,q_tmp_9_4);
+                   q_acc_9_5 = _mm256_add_pd(q_acc_9_5,q_tmp_9_5);
+                   q_acc_9_6 = _mm256_add_pd(q_acc_9_6,q_tmp_9_6);
+                   q_acc_9_7 = _mm256_add_pd(q_acc_9_7,q_tmp_9_7);
+                   q_acc_9_8 = _mm256_add_pd(q_acc_9_8,q_tmp_9_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_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));
+                const __m256d elMatVec_4 = _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_4_0,src_dof_0),_mm256_mul_pd(q_acc_4_1,src_dof_1)),_mm256_mul_pd(q_acc_4_2,src_dof_2)),_mm256_mul_pd(q_acc_4_3,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)),_mm256_mul_pd(q_acc_4_6,src_dof_6)),_mm256_mul_pd(q_acc_4_7,src_dof_7)),_mm256_mul_pd(q_acc_4_8,src_dof_8)),_mm256_mul_pd(q_acc_4_9,src_dof_9));
+                const __m256d elMatVec_5 = _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_5_0,src_dof_0),_mm256_mul_pd(q_acc_5_1,src_dof_1)),_mm256_mul_pd(q_acc_5_2,src_dof_2)),_mm256_mul_pd(q_acc_5_3,src_dof_3)),_mm256_mul_pd(q_acc_5_4,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)),_mm256_mul_pd(q_acc_5_6,src_dof_6)),_mm256_mul_pd(q_acc_5_7,src_dof_7)),_mm256_mul_pd(q_acc_5_8,src_dof_8)),_mm256_mul_pd(q_acc_5_9,src_dof_9));
+                const __m256d elMatVec_6 = _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_6_0,src_dof_0),_mm256_mul_pd(q_acc_6_1,src_dof_1)),_mm256_mul_pd(q_acc_6_2,src_dof_2)),_mm256_mul_pd(q_acc_6_3,src_dof_3)),_mm256_mul_pd(q_acc_6_4,src_dof_4)),_mm256_mul_pd(q_acc_6_5,src_dof_5)),_mm256_mul_pd(q_acc_6_6,src_dof_6)),_mm256_mul_pd(q_acc_6_7,src_dof_7)),_mm256_mul_pd(q_acc_6_8,src_dof_8)),_mm256_mul_pd(q_acc_6_9,src_dof_9));
+                const __m256d elMatVec_7 = _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_7_0,src_dof_0),_mm256_mul_pd(q_acc_7_1,src_dof_1)),_mm256_mul_pd(q_acc_7_2,src_dof_2)),_mm256_mul_pd(q_acc_7_3,src_dof_3)),_mm256_mul_pd(q_acc_7_4,src_dof_4)),_mm256_mul_pd(q_acc_7_5,src_dof_5)),_mm256_mul_pd(q_acc_7_6,src_dof_6)),_mm256_mul_pd(q_acc_7_7,src_dof_7)),_mm256_mul_pd(q_acc_7_8,src_dof_8)),_mm256_mul_pd(q_acc_7_9,src_dof_9));
+                const __m256d elMatVec_8 = _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_8_0,src_dof_0),_mm256_mul_pd(q_acc_8_1,src_dof_1)),_mm256_mul_pd(q_acc_8_2,src_dof_2)),_mm256_mul_pd(q_acc_8_3,src_dof_3)),_mm256_mul_pd(q_acc_8_4,src_dof_4)),_mm256_mul_pd(q_acc_8_5,src_dof_5)),_mm256_mul_pd(q_acc_8_6,src_dof_6)),_mm256_mul_pd(q_acc_8_7,src_dof_7)),_mm256_mul_pd(q_acc_8_8,src_dof_8)),_mm256_mul_pd(q_acc_8_9,src_dof_9));
+                const __m256d elMatVec_9 = _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_9_0,src_dof_0),_mm256_mul_pd(q_acc_9_1,src_dof_1)),_mm256_mul_pd(q_acc_9_2,src_dof_2)),_mm256_mul_pd(q_acc_9_3,src_dof_3)),_mm256_mul_pd(q_acc_9_4,src_dof_4)),_mm256_mul_pd(q_acc_9_5,src_dof_5)),_mm256_mul_pd(q_acc_9_6,src_dof_6)),_mm256_mul_pd(q_acc_9_7,src_dof_7)),_mm256_mul_pd(q_acc_9_8,src_dof_8)),_mm256_mul_pd(q_acc_9_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_6,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_7,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_8,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_9,_mm256_loadu_pd(& _data_dstEdge[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))])));
+             }
+             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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+                real_t q_acc_4_0 = 0.0;
+                real_t q_acc_4_1 = 0.0;
+                real_t q_acc_4_2 = 0.0;
+                real_t q_acc_4_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_4_5 = 0.0;
+                real_t q_acc_4_6 = 0.0;
+                real_t q_acc_4_7 = 0.0;
+                real_t q_acc_4_8 = 0.0;
+                real_t q_acc_4_9 = 0.0;
+                real_t q_acc_5_0 = 0.0;
+                real_t q_acc_5_1 = 0.0;
+                real_t q_acc_5_2 = 0.0;
+                real_t q_acc_5_3 = 0.0;
+                real_t q_acc_5_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_5_6 = 0.0;
+                real_t q_acc_5_7 = 0.0;
+                real_t q_acc_5_8 = 0.0;
+                real_t q_acc_5_9 = 0.0;
+                real_t q_acc_6_0 = 0.0;
+                real_t q_acc_6_1 = 0.0;
+                real_t q_acc_6_2 = 0.0;
+                real_t q_acc_6_3 = 0.0;
+                real_t q_acc_6_4 = 0.0;
+                real_t q_acc_6_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_6_7 = 0.0;
+                real_t q_acc_6_8 = 0.0;
+                real_t q_acc_6_9 = 0.0;
+                real_t q_acc_7_0 = 0.0;
+                real_t q_acc_7_1 = 0.0;
+                real_t q_acc_7_2 = 0.0;
+                real_t q_acc_7_3 = 0.0;
+                real_t q_acc_7_4 = 0.0;
+                real_t q_acc_7_5 = 0.0;
+                real_t q_acc_7_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_7_8 = 0.0;
+                real_t q_acc_7_9 = 0.0;
+                real_t q_acc_8_0 = 0.0;
+                real_t q_acc_8_1 = 0.0;
+                real_t q_acc_8_2 = 0.0;
+                real_t q_acc_8_3 = 0.0;
+                real_t q_acc_8_4 = 0.0;
+                real_t q_acc_8_5 = 0.0;
+                real_t q_acc_8_6 = 0.0;
+                real_t q_acc_8_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_8_9 = 0.0;
+                real_t q_acc_9_0 = 0.0;
+                real_t q_acc_9_1 = 0.0;
+                real_t q_acc_9_2 = 0.0;
+                real_t q_acc_9_3 = 0.0;
+                real_t q_acc_9_4 = 0.0;
+                real_t q_acc_9_5 = 0.0;
+                real_t q_acc_9_6 = 0.0;
+                real_t q_acc_9_7 = 0.0;
+                real_t q_acc_9_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                   const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_4);
+                   const real_t tmp_qloop_26 = abs_det_jac_affine_GREEN_UP*(cp_dof_0*tmp_qloop_21 + cp_dof_1*tmp_qloop_10 + cp_dof_2*tmp_qloop_13 + cp_dof_3*tmp_qloop_16 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_6 + cp_dof_6*tmp_qloop_5 + cp_dof_7*tmp_qloop_17 + cp_dof_8*tmp_qloop_18 + cp_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_27 = tmp_qloop_21*tmp_qloop_26;
+                   const real_t tmp_qloop_28 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_29 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_0_1_GREEN_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_0_2_GREEN_UP*tmp_qloop_24*tmp_qloop_28;
+                   const real_t tmp_qloop_30 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_31 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_22*tmp_qloop_30 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_23*tmp_qloop_30 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_24*tmp_qloop_30;
+                   const real_t tmp_qloop_32 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_33 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_22*tmp_qloop_32 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_23*tmp_qloop_32 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_24*tmp_qloop_32;
+                   const real_t tmp_qloop_34 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_35 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_36 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_37 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_38 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_39 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_40 = tmp_qloop_22*(tmp_qloop_34 + tmp_qloop_35) + tmp_qloop_23*(tmp_qloop_36 + tmp_qloop_37) + tmp_qloop_24*(tmp_qloop_38 + tmp_qloop_39);
+                   const real_t tmp_qloop_41 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_42 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_43 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_44 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_45 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_47 = tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46);
+                   const real_t tmp_qloop_48 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_49 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_50 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_51 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_52 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_53 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_54 = tmp_qloop_22*(tmp_qloop_48 + tmp_qloop_49) + tmp_qloop_23*(tmp_qloop_50 + tmp_qloop_51) + tmp_qloop_24*(tmp_qloop_52 + tmp_qloop_53);
+                   const real_t tmp_qloop_55 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_56 = tmp_qloop_22*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_55 - tmp_qloop_35 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_55 - tmp_qloop_37 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_55 - tmp_qloop_39 - tmp_qloop_46);
+                   const real_t tmp_qloop_57 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_58 = -tmp_qloop_1 - tmp_qloop_57 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_59 = tmp_qloop_22*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_58 - tmp_qloop_34 - tmp_qloop_49) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_58 - tmp_qloop_36 - tmp_qloop_51) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_53);
+                   const real_t tmp_qloop_60 = -tmp_qloop_2 - tmp_qloop_57 - 8.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_61 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_60 - tmp_qloop_41 - tmp_qloop_48) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_60 - tmp_qloop_43 - tmp_qloop_50) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_60 - tmp_qloop_45 - tmp_qloop_52);
+                   const real_t tmp_qloop_62 = tmp_qloop_10*tmp_qloop_26;
+                   const real_t tmp_qloop_63 = tmp_qloop_13*tmp_qloop_26;
+                   const real_t tmp_qloop_64 = tmp_qloop_16*tmp_qloop_26;
+                   const real_t tmp_qloop_65 = tmp_qloop_26*tmp_qloop_7;
+                   const real_t tmp_qloop_66 = tmp_qloop_26*tmp_qloop_6;
+                   const real_t tmp_qloop_67 = tmp_qloop_26*tmp_qloop_5;
+                   const real_t tmp_qloop_68 = tmp_qloop_17*tmp_qloop_26;
+                   const real_t tmp_qloop_69 = tmp_qloop_18*tmp_qloop_26;
+                   const real_t tmp_qloop_70 = tmp_qloop_20*tmp_qloop_26;
+                   const real_t q_tmp_0_0 = tmp_qloop_25*tmp_qloop_27;
+                   const real_t q_tmp_0_1 = tmp_qloop_27*tmp_qloop_29;
+                   const real_t q_tmp_0_2 = tmp_qloop_27*tmp_qloop_31;
+                   const real_t q_tmp_0_3 = tmp_qloop_27*tmp_qloop_33;
+                   const real_t q_tmp_0_4 = tmp_qloop_27*tmp_qloop_40;
+                   const real_t q_tmp_0_5 = tmp_qloop_27*tmp_qloop_47;
+                   const real_t q_tmp_0_6 = tmp_qloop_27*tmp_qloop_54;
+                   const real_t q_tmp_0_7 = tmp_qloop_27*tmp_qloop_56;
+                   const real_t q_tmp_0_8 = tmp_qloop_27*tmp_qloop_59;
+                   const real_t q_tmp_0_9 = tmp_qloop_27*tmp_qloop_61;
+                   const real_t q_tmp_1_0 = tmp_qloop_25*tmp_qloop_62;
+                   const real_t q_tmp_1_1 = tmp_qloop_29*tmp_qloop_62;
+                   const real_t q_tmp_1_2 = tmp_qloop_31*tmp_qloop_62;
+                   const real_t q_tmp_1_3 = tmp_qloop_33*tmp_qloop_62;
+                   const real_t q_tmp_1_4 = tmp_qloop_40*tmp_qloop_62;
+                   const real_t q_tmp_1_5 = tmp_qloop_47*tmp_qloop_62;
+                   const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                   const real_t q_tmp_1_7 = tmp_qloop_56*tmp_qloop_62;
+                   const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                   const real_t q_tmp_1_9 = tmp_qloop_61*tmp_qloop_62;
+                   const real_t q_tmp_2_0 = tmp_qloop_25*tmp_qloop_63;
+                   const real_t q_tmp_2_1 = tmp_qloop_29*tmp_qloop_63;
+                   const real_t q_tmp_2_2 = tmp_qloop_31*tmp_qloop_63;
+                   const real_t q_tmp_2_3 = tmp_qloop_33*tmp_qloop_63;
+                   const real_t q_tmp_2_4 = tmp_qloop_40*tmp_qloop_63;
+                   const real_t q_tmp_2_5 = tmp_qloop_47*tmp_qloop_63;
+                   const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_63;
+                   const real_t q_tmp_2_7 = tmp_qloop_56*tmp_qloop_63;
+                   const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_63;
+                   const real_t q_tmp_2_9 = tmp_qloop_61*tmp_qloop_63;
+                   const real_t q_tmp_3_0 = tmp_qloop_25*tmp_qloop_64;
+                   const real_t q_tmp_3_1 = tmp_qloop_29*tmp_qloop_64;
+                   const real_t q_tmp_3_2 = tmp_qloop_31*tmp_qloop_64;
+                   const real_t q_tmp_3_3 = tmp_qloop_33*tmp_qloop_64;
+                   const real_t q_tmp_3_4 = tmp_qloop_40*tmp_qloop_64;
+                   const real_t q_tmp_3_5 = tmp_qloop_47*tmp_qloop_64;
+                   const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_64;
+                   const real_t q_tmp_3_7 = tmp_qloop_56*tmp_qloop_64;
+                   const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_64;
+                   const real_t q_tmp_3_9 = tmp_qloop_61*tmp_qloop_64;
+                   const real_t q_tmp_4_0 = tmp_qloop_25*tmp_qloop_65;
+                   const real_t q_tmp_4_1 = tmp_qloop_29*tmp_qloop_65;
+                   const real_t q_tmp_4_2 = tmp_qloop_31*tmp_qloop_65;
+                   const real_t q_tmp_4_3 = tmp_qloop_33*tmp_qloop_65;
+                   const real_t q_tmp_4_4 = tmp_qloop_40*tmp_qloop_65;
+                   const real_t q_tmp_4_5 = tmp_qloop_47*tmp_qloop_65;
+                   const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_65;
+                   const real_t q_tmp_4_7 = tmp_qloop_56*tmp_qloop_65;
+                   const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_65;
+                   const real_t q_tmp_4_9 = tmp_qloop_61*tmp_qloop_65;
+                   const real_t q_tmp_5_0 = tmp_qloop_25*tmp_qloop_66;
+                   const real_t q_tmp_5_1 = tmp_qloop_29*tmp_qloop_66;
+                   const real_t q_tmp_5_2 = tmp_qloop_31*tmp_qloop_66;
+                   const real_t q_tmp_5_3 = tmp_qloop_33*tmp_qloop_66;
+                   const real_t q_tmp_5_4 = tmp_qloop_40*tmp_qloop_66;
+                   const real_t q_tmp_5_5 = tmp_qloop_47*tmp_qloop_66;
+                   const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_66;
+                   const real_t q_tmp_5_7 = tmp_qloop_56*tmp_qloop_66;
+                   const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_66;
+                   const real_t q_tmp_5_9 = tmp_qloop_61*tmp_qloop_66;
+                   const real_t q_tmp_6_0 = tmp_qloop_25*tmp_qloop_67;
+                   const real_t q_tmp_6_1 = tmp_qloop_29*tmp_qloop_67;
+                   const real_t q_tmp_6_2 = tmp_qloop_31*tmp_qloop_67;
+                   const real_t q_tmp_6_3 = tmp_qloop_33*tmp_qloop_67;
+                   const real_t q_tmp_6_4 = tmp_qloop_40*tmp_qloop_67;
+                   const real_t q_tmp_6_5 = tmp_qloop_47*tmp_qloop_67;
+                   const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_67;
+                   const real_t q_tmp_6_7 = tmp_qloop_56*tmp_qloop_67;
+                   const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_67;
+                   const real_t q_tmp_6_9 = tmp_qloop_61*tmp_qloop_67;
+                   const real_t q_tmp_7_0 = tmp_qloop_25*tmp_qloop_68;
+                   const real_t q_tmp_7_1 = tmp_qloop_29*tmp_qloop_68;
+                   const real_t q_tmp_7_2 = tmp_qloop_31*tmp_qloop_68;
+                   const real_t q_tmp_7_3 = tmp_qloop_33*tmp_qloop_68;
+                   const real_t q_tmp_7_4 = tmp_qloop_40*tmp_qloop_68;
+                   const real_t q_tmp_7_5 = tmp_qloop_47*tmp_qloop_68;
+                   const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_68;
+                   const real_t q_tmp_7_7 = tmp_qloop_56*tmp_qloop_68;
+                   const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_68;
+                   const real_t q_tmp_7_9 = tmp_qloop_61*tmp_qloop_68;
+                   const real_t q_tmp_8_0 = tmp_qloop_25*tmp_qloop_69;
+                   const real_t q_tmp_8_1 = tmp_qloop_29*tmp_qloop_69;
+                   const real_t q_tmp_8_2 = tmp_qloop_31*tmp_qloop_69;
+                   const real_t q_tmp_8_3 = tmp_qloop_33*tmp_qloop_69;
+                   const real_t q_tmp_8_4 = tmp_qloop_40*tmp_qloop_69;
+                   const real_t q_tmp_8_5 = tmp_qloop_47*tmp_qloop_69;
+                   const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_69;
+                   const real_t q_tmp_8_7 = tmp_qloop_56*tmp_qloop_69;
+                   const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_69;
+                   const real_t q_tmp_8_9 = tmp_qloop_61*tmp_qloop_69;
+                   const real_t q_tmp_9_0 = tmp_qloop_25*tmp_qloop_70;
+                   const real_t q_tmp_9_1 = tmp_qloop_29*tmp_qloop_70;
+                   const real_t q_tmp_9_2 = tmp_qloop_31*tmp_qloop_70;
+                   const real_t q_tmp_9_3 = tmp_qloop_33*tmp_qloop_70;
+                   const real_t q_tmp_9_4 = tmp_qloop_40*tmp_qloop_70;
+                   const real_t q_tmp_9_5 = tmp_qloop_47*tmp_qloop_70;
+                   const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_70;
+                   const real_t q_tmp_9_7 = tmp_qloop_56*tmp_qloop_70;
+                   const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_70;
+                   const real_t q_tmp_9_9 = tmp_qloop_61*tmp_qloop_70;
+                   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;
+                   q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                   q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                   q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                   q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                   q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                   q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                   q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                   q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                   q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                   q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                   q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                   q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                   q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                   q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                   q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                   q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                   q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                   q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                   q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                   q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                   q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                   q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                   q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                   q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                   q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                   q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                   q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                   q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                   q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                   q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                   q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                   q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                   q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                   q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                   q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                   q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                   q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                   q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                   q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                   q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                   q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                   q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                   q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                   q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                   q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                   q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                   q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                   q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                   q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+                const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+                const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+                const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+                const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+                const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+                const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+                _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_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 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN;
+       const real_t tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN);
+       const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN);
+       const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN);
+       const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN);
+       const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN);
+       {
+          /* CellType.GREEN_DOWN */
+          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 cp_dof_0 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_1 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_2 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_3 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_4 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_5 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_6 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_7 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_8 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_9 = _mm256_loadu_pd(& _data_cpEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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);
+                __m256d q_acc_4_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_1),_mm256_mul_pd(tmp_qloop_13,ux_dof_2)),_mm256_mul_pd(tmp_qloop_16,ux_dof_3)),_mm256_mul_pd(tmp_qloop_17,ux_dof_7)),_mm256_mul_pd(tmp_qloop_18,ux_dof_8)),_mm256_mul_pd(tmp_qloop_20,ux_dof_9)),_mm256_mul_pd(tmp_qloop_21,ux_dof_0)),_mm256_mul_pd(tmp_qloop_5,ux_dof_6)),_mm256_mul_pd(tmp_qloop_6,ux_dof_5)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_1),_mm256_mul_pd(tmp_qloop_13,uy_dof_2)),_mm256_mul_pd(tmp_qloop_16,uy_dof_3)),_mm256_mul_pd(tmp_qloop_17,uy_dof_7)),_mm256_mul_pd(tmp_qloop_18,uy_dof_8)),_mm256_mul_pd(tmp_qloop_20,uy_dof_9)),_mm256_mul_pd(tmp_qloop_21,uy_dof_0)),_mm256_mul_pd(tmp_qloop_5,uy_dof_6)),_mm256_mul_pd(tmp_qloop_6,uy_dof_5)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_1),_mm256_mul_pd(tmp_qloop_13,uz_dof_2)),_mm256_mul_pd(tmp_qloop_16,uz_dof_3)),_mm256_mul_pd(tmp_qloop_17,uz_dof_7)),_mm256_mul_pd(tmp_qloop_18,uz_dof_8)),_mm256_mul_pd(tmp_qloop_20,uz_dof_9)),_mm256_mul_pd(tmp_qloop_21,uz_dof_0)),_mm256_mul_pd(tmp_qloop_5,uz_dof_6)),_mm256_mul_pd(tmp_qloop_6,uz_dof_5)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4));
+                   const __m256d tmp_qloop_25 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))));
+                   const __m256d tmp_qloop_26 = _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(cp_dof_0,tmp_qloop_21),_mm256_mul_pd(cp_dof_1,tmp_qloop_10)),_mm256_mul_pd(cp_dof_2,tmp_qloop_13)),_mm256_mul_pd(cp_dof_3,tmp_qloop_16)),_mm256_mul_pd(cp_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_dof_5,tmp_qloop_6)),_mm256_mul_pd(cp_dof_6,tmp_qloop_5)),_mm256_mul_pd(cp_dof_7,tmp_qloop_17)),_mm256_mul_pd(cp_dof_8,tmp_qloop_18)),_mm256_mul_pd(cp_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN));
+                   const __m256d tmp_qloop_27 = _mm256_mul_pd(tmp_qloop_21,tmp_qloop_26);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_29 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)));
+                   const __m256d tmp_qloop_30 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_31 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_30),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_30),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_30),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)));
+                   const __m256d tmp_qloop_32 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_33 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_32),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_32),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_32),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)));
+                   const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_34,tmp_qloop_35)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_36,tmp_qloop_37))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_38,tmp_qloop_39)));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46)));
+                   const __m256d tmp_qloop_48 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_54 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_48,tmp_qloop_49)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_50,tmp_qloop_51))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_52,tmp_qloop_53)));
+                   const __m256d tmp_qloop_55 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_56 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))));
+                   const __m256d tmp_qloop_57 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_58 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_51,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)))));
+                   const __m256d tmp_qloop_60 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_52,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)))));
+                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_10,tmp_qloop_26);
+                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_26);
+                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_16,tmp_qloop_26);
+                   const __m256d tmp_qloop_65 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_7);
+                   const __m256d tmp_qloop_66 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_6);
+                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_5);
+                   const __m256d tmp_qloop_68 = _mm256_mul_pd(tmp_qloop_17,tmp_qloop_26);
+                   const __m256d tmp_qloop_69 = _mm256_mul_pd(tmp_qloop_18,tmp_qloop_26);
+                   const __m256d tmp_qloop_70 = _mm256_mul_pd(tmp_qloop_20,tmp_qloop_26);
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_27);
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_29);
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_31);
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_33);
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_40);
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_47);
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_54);
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_56);
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_59);
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_27,tmp_qloop_61);
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_62);
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_62);
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_62);
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_62);
+                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_62);
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_62);
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_62);
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_62);
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_62);
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_62);
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_63);
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_63);
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_63);
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_63);
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_63);
+                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_63);
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_63);
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_63);
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_63);
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_63);
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_64);
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_64);
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_64);
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_64);
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_64);
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_64);
+                   const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_64);
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_64);
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_64);
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_64);
+                   const __m256d q_tmp_4_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_65);
+                   const __m256d q_tmp_4_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_65);
+                   const __m256d q_tmp_4_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_65);
+                   const __m256d q_tmp_4_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_65);
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_65);
+                   const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_65);
+                   const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_65);
+                   const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_65);
+                   const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_65);
+                   const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_65);
+                   const __m256d q_tmp_5_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_66);
+                   const __m256d q_tmp_5_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_66);
+                   const __m256d q_tmp_5_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_66);
+                   const __m256d q_tmp_5_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_66);
+                   const __m256d q_tmp_5_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_66);
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_66);
+                   const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_66);
+                   const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_66);
+                   const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_66);
+                   const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_66);
+                   const __m256d q_tmp_6_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_67);
+                   const __m256d q_tmp_6_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_67);
+                   const __m256d q_tmp_6_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_67);
+                   const __m256d q_tmp_6_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_67);
+                   const __m256d q_tmp_6_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_67);
+                   const __m256d q_tmp_6_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_67);
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_67);
+                   const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_67);
+                   const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_67);
+                   const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_67);
+                   const __m256d q_tmp_7_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_68);
+                   const __m256d q_tmp_7_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_68);
+                   const __m256d q_tmp_7_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_68);
+                   const __m256d q_tmp_7_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_68);
+                   const __m256d q_tmp_7_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_68);
+                   const __m256d q_tmp_7_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_68);
+                   const __m256d q_tmp_7_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_68);
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_68);
+                   const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_68);
+                   const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_68);
+                   const __m256d q_tmp_8_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_69);
+                   const __m256d q_tmp_8_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_69);
+                   const __m256d q_tmp_8_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_69);
+                   const __m256d q_tmp_8_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_69);
+                   const __m256d q_tmp_8_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_69);
+                   const __m256d q_tmp_8_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_69);
+                   const __m256d q_tmp_8_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_69);
+                   const __m256d q_tmp_8_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_69);
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_69);
+                   const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_69);
+                   const __m256d q_tmp_9_0 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_70);
+                   const __m256d q_tmp_9_1 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_70);
+                   const __m256d q_tmp_9_2 = _mm256_mul_pd(tmp_qloop_31,tmp_qloop_70);
+                   const __m256d q_tmp_9_3 = _mm256_mul_pd(tmp_qloop_33,tmp_qloop_70);
+                   const __m256d q_tmp_9_4 = _mm256_mul_pd(tmp_qloop_40,tmp_qloop_70);
+                   const __m256d q_tmp_9_5 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_70);
+                   const __m256d q_tmp_9_6 = _mm256_mul_pd(tmp_qloop_54,tmp_qloop_70);
+                   const __m256d q_tmp_9_7 = _mm256_mul_pd(tmp_qloop_56,tmp_qloop_70);
+                   const __m256d q_tmp_9_8 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_70);
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_61,tmp_qloop_70);
+                   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);
+                   q_acc_4_0 = _mm256_add_pd(q_acc_4_0,q_tmp_4_0);
+                   q_acc_4_1 = _mm256_add_pd(q_acc_4_1,q_tmp_4_1);
+                   q_acc_4_2 = _mm256_add_pd(q_acc_4_2,q_tmp_4_2);
+                   q_acc_4_3 = _mm256_add_pd(q_acc_4_3,q_tmp_4_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5);
+                   q_acc_4_6 = _mm256_add_pd(q_acc_4_6,q_tmp_4_6);
+                   q_acc_4_7 = _mm256_add_pd(q_acc_4_7,q_tmp_4_7);
+                   q_acc_4_8 = _mm256_add_pd(q_acc_4_8,q_tmp_4_8);
+                   q_acc_4_9 = _mm256_add_pd(q_acc_4_9,q_tmp_4_9);
+                   q_acc_5_0 = _mm256_add_pd(q_acc_5_0,q_tmp_5_0);
+                   q_acc_5_1 = _mm256_add_pd(q_acc_5_1,q_tmp_5_1);
+                   q_acc_5_2 = _mm256_add_pd(q_acc_5_2,q_tmp_5_2);
+                   q_acc_5_3 = _mm256_add_pd(q_acc_5_3,q_tmp_5_3);
+                   q_acc_5_4 = _mm256_add_pd(q_acc_5_4,q_tmp_5_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_5_6 = _mm256_add_pd(q_acc_5_6,q_tmp_5_6);
+                   q_acc_5_7 = _mm256_add_pd(q_acc_5_7,q_tmp_5_7);
+                   q_acc_5_8 = _mm256_add_pd(q_acc_5_8,q_tmp_5_8);
+                   q_acc_5_9 = _mm256_add_pd(q_acc_5_9,q_tmp_5_9);
+                   q_acc_6_0 = _mm256_add_pd(q_acc_6_0,q_tmp_6_0);
+                   q_acc_6_1 = _mm256_add_pd(q_acc_6_1,q_tmp_6_1);
+                   q_acc_6_2 = _mm256_add_pd(q_acc_6_2,q_tmp_6_2);
+                   q_acc_6_3 = _mm256_add_pd(q_acc_6_3,q_tmp_6_3);
+                   q_acc_6_4 = _mm256_add_pd(q_acc_6_4,q_tmp_6_4);
+                   q_acc_6_5 = _mm256_add_pd(q_acc_6_5,q_tmp_6_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_6_7 = _mm256_add_pd(q_acc_6_7,q_tmp_6_7);
+                   q_acc_6_8 = _mm256_add_pd(q_acc_6_8,q_tmp_6_8);
+                   q_acc_6_9 = _mm256_add_pd(q_acc_6_9,q_tmp_6_9);
+                   q_acc_7_0 = _mm256_add_pd(q_acc_7_0,q_tmp_7_0);
+                   q_acc_7_1 = _mm256_add_pd(q_acc_7_1,q_tmp_7_1);
+                   q_acc_7_2 = _mm256_add_pd(q_acc_7_2,q_tmp_7_2);
+                   q_acc_7_3 = _mm256_add_pd(q_acc_7_3,q_tmp_7_3);
+                   q_acc_7_4 = _mm256_add_pd(q_acc_7_4,q_tmp_7_4);
+                   q_acc_7_5 = _mm256_add_pd(q_acc_7_5,q_tmp_7_5);
+                   q_acc_7_6 = _mm256_add_pd(q_acc_7_6,q_tmp_7_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_7_8 = _mm256_add_pd(q_acc_7_8,q_tmp_7_8);
+                   q_acc_7_9 = _mm256_add_pd(q_acc_7_9,q_tmp_7_9);
+                   q_acc_8_0 = _mm256_add_pd(q_acc_8_0,q_tmp_8_0);
+                   q_acc_8_1 = _mm256_add_pd(q_acc_8_1,q_tmp_8_1);
+                   q_acc_8_2 = _mm256_add_pd(q_acc_8_2,q_tmp_8_2);
+                   q_acc_8_3 = _mm256_add_pd(q_acc_8_3,q_tmp_8_3);
+                   q_acc_8_4 = _mm256_add_pd(q_acc_8_4,q_tmp_8_4);
+                   q_acc_8_5 = _mm256_add_pd(q_acc_8_5,q_tmp_8_5);
+                   q_acc_8_6 = _mm256_add_pd(q_acc_8_6,q_tmp_8_6);
+                   q_acc_8_7 = _mm256_add_pd(q_acc_8_7,q_tmp_8_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_8_9 = _mm256_add_pd(q_acc_8_9,q_tmp_8_9);
+                   q_acc_9_0 = _mm256_add_pd(q_acc_9_0,q_tmp_9_0);
+                   q_acc_9_1 = _mm256_add_pd(q_acc_9_1,q_tmp_9_1);
+                   q_acc_9_2 = _mm256_add_pd(q_acc_9_2,q_tmp_9_2);
+                   q_acc_9_3 = _mm256_add_pd(q_acc_9_3,q_tmp_9_3);
+                   q_acc_9_4 = _mm256_add_pd(q_acc_9_4,q_tmp_9_4);
+                   q_acc_9_5 = _mm256_add_pd(q_acc_9_5,q_tmp_9_5);
+                   q_acc_9_6 = _mm256_add_pd(q_acc_9_6,q_tmp_9_6);
+                   q_acc_9_7 = _mm256_add_pd(q_acc_9_7,q_tmp_9_7);
+                   q_acc_9_8 = _mm256_add_pd(q_acc_9_8,q_tmp_9_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_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));
+                const __m256d elMatVec_4 = _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_4_0,src_dof_0),_mm256_mul_pd(q_acc_4_1,src_dof_1)),_mm256_mul_pd(q_acc_4_2,src_dof_2)),_mm256_mul_pd(q_acc_4_3,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)),_mm256_mul_pd(q_acc_4_6,src_dof_6)),_mm256_mul_pd(q_acc_4_7,src_dof_7)),_mm256_mul_pd(q_acc_4_8,src_dof_8)),_mm256_mul_pd(q_acc_4_9,src_dof_9));
+                const __m256d elMatVec_5 = _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_5_0,src_dof_0),_mm256_mul_pd(q_acc_5_1,src_dof_1)),_mm256_mul_pd(q_acc_5_2,src_dof_2)),_mm256_mul_pd(q_acc_5_3,src_dof_3)),_mm256_mul_pd(q_acc_5_4,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)),_mm256_mul_pd(q_acc_5_6,src_dof_6)),_mm256_mul_pd(q_acc_5_7,src_dof_7)),_mm256_mul_pd(q_acc_5_8,src_dof_8)),_mm256_mul_pd(q_acc_5_9,src_dof_9));
+                const __m256d elMatVec_6 = _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_6_0,src_dof_0),_mm256_mul_pd(q_acc_6_1,src_dof_1)),_mm256_mul_pd(q_acc_6_2,src_dof_2)),_mm256_mul_pd(q_acc_6_3,src_dof_3)),_mm256_mul_pd(q_acc_6_4,src_dof_4)),_mm256_mul_pd(q_acc_6_5,src_dof_5)),_mm256_mul_pd(q_acc_6_6,src_dof_6)),_mm256_mul_pd(q_acc_6_7,src_dof_7)),_mm256_mul_pd(q_acc_6_8,src_dof_8)),_mm256_mul_pd(q_acc_6_9,src_dof_9));
+                const __m256d elMatVec_7 = _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_7_0,src_dof_0),_mm256_mul_pd(q_acc_7_1,src_dof_1)),_mm256_mul_pd(q_acc_7_2,src_dof_2)),_mm256_mul_pd(q_acc_7_3,src_dof_3)),_mm256_mul_pd(q_acc_7_4,src_dof_4)),_mm256_mul_pd(q_acc_7_5,src_dof_5)),_mm256_mul_pd(q_acc_7_6,src_dof_6)),_mm256_mul_pd(q_acc_7_7,src_dof_7)),_mm256_mul_pd(q_acc_7_8,src_dof_8)),_mm256_mul_pd(q_acc_7_9,src_dof_9));
+                const __m256d elMatVec_8 = _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_8_0,src_dof_0),_mm256_mul_pd(q_acc_8_1,src_dof_1)),_mm256_mul_pd(q_acc_8_2,src_dof_2)),_mm256_mul_pd(q_acc_8_3,src_dof_3)),_mm256_mul_pd(q_acc_8_4,src_dof_4)),_mm256_mul_pd(q_acc_8_5,src_dof_5)),_mm256_mul_pd(q_acc_8_6,src_dof_6)),_mm256_mul_pd(q_acc_8_7,src_dof_7)),_mm256_mul_pd(q_acc_8_8,src_dof_8)),_mm256_mul_pd(q_acc_8_9,src_dof_9));
+                const __m256d elMatVec_9 = _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_9_0,src_dof_0),_mm256_mul_pd(q_acc_9_1,src_dof_1)),_mm256_mul_pd(q_acc_9_2,src_dof_2)),_mm256_mul_pd(q_acc_9_3,src_dof_3)),_mm256_mul_pd(q_acc_9_4,src_dof_4)),_mm256_mul_pd(q_acc_9_5,src_dof_5)),_mm256_mul_pd(q_acc_9_6,src_dof_6)),_mm256_mul_pd(q_acc_9_7,src_dof_7)),_mm256_mul_pd(q_acc_9_8,src_dof_8)),_mm256_mul_pd(q_acc_9_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_6,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_7,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_8,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_9,_mm256_loadu_pd(& _data_dstEdge[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))])));
+             }
+             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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+                real_t q_acc_4_0 = 0.0;
+                real_t q_acc_4_1 = 0.0;
+                real_t q_acc_4_2 = 0.0;
+                real_t q_acc_4_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_4_5 = 0.0;
+                real_t q_acc_4_6 = 0.0;
+                real_t q_acc_4_7 = 0.0;
+                real_t q_acc_4_8 = 0.0;
+                real_t q_acc_4_9 = 0.0;
+                real_t q_acc_5_0 = 0.0;
+                real_t q_acc_5_1 = 0.0;
+                real_t q_acc_5_2 = 0.0;
+                real_t q_acc_5_3 = 0.0;
+                real_t q_acc_5_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_5_6 = 0.0;
+                real_t q_acc_5_7 = 0.0;
+                real_t q_acc_5_8 = 0.0;
+                real_t q_acc_5_9 = 0.0;
+                real_t q_acc_6_0 = 0.0;
+                real_t q_acc_6_1 = 0.0;
+                real_t q_acc_6_2 = 0.0;
+                real_t q_acc_6_3 = 0.0;
+                real_t q_acc_6_4 = 0.0;
+                real_t q_acc_6_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_6_7 = 0.0;
+                real_t q_acc_6_8 = 0.0;
+                real_t q_acc_6_9 = 0.0;
+                real_t q_acc_7_0 = 0.0;
+                real_t q_acc_7_1 = 0.0;
+                real_t q_acc_7_2 = 0.0;
+                real_t q_acc_7_3 = 0.0;
+                real_t q_acc_7_4 = 0.0;
+                real_t q_acc_7_5 = 0.0;
+                real_t q_acc_7_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_7_8 = 0.0;
+                real_t q_acc_7_9 = 0.0;
+                real_t q_acc_8_0 = 0.0;
+                real_t q_acc_8_1 = 0.0;
+                real_t q_acc_8_2 = 0.0;
+                real_t q_acc_8_3 = 0.0;
+                real_t q_acc_8_4 = 0.0;
+                real_t q_acc_8_5 = 0.0;
+                real_t q_acc_8_6 = 0.0;
+                real_t q_acc_8_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_8_9 = 0.0;
+                real_t q_acc_9_0 = 0.0;
+                real_t q_acc_9_1 = 0.0;
+                real_t q_acc_9_2 = 0.0;
+                real_t q_acc_9_3 = 0.0;
+                real_t q_acc_9_4 = 0.0;
+                real_t q_acc_9_5 = 0.0;
+                real_t q_acc_9_6 = 0.0;
+                real_t q_acc_9_7 = 0.0;
+                real_t q_acc_9_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                   const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_4);
+                   const real_t tmp_qloop_26 = abs_det_jac_affine_GREEN_DOWN*(cp_dof_0*tmp_qloop_21 + cp_dof_1*tmp_qloop_10 + cp_dof_2*tmp_qloop_13 + cp_dof_3*tmp_qloop_16 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_6 + cp_dof_6*tmp_qloop_5 + cp_dof_7*tmp_qloop_17 + cp_dof_8*tmp_qloop_18 + cp_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_27 = tmp_qloop_21*tmp_qloop_26;
+                   const real_t tmp_qloop_28 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_29 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_28;
+                   const real_t tmp_qloop_30 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_31 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_30 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_30 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_30;
+                   const real_t tmp_qloop_32 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_33 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_32 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_32 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_32;
+                   const real_t tmp_qloop_34 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_35 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_36 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_37 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_38 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_39 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_40 = tmp_qloop_22*(tmp_qloop_34 + tmp_qloop_35) + tmp_qloop_23*(tmp_qloop_36 + tmp_qloop_37) + tmp_qloop_24*(tmp_qloop_38 + tmp_qloop_39);
+                   const real_t tmp_qloop_41 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_42 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_43 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_44 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_45 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_47 = tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46);
+                   const real_t tmp_qloop_48 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_49 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_50 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_51 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_52 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_53 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_54 = tmp_qloop_22*(tmp_qloop_48 + tmp_qloop_49) + tmp_qloop_23*(tmp_qloop_50 + tmp_qloop_51) + tmp_qloop_24*(tmp_qloop_52 + tmp_qloop_53);
+                   const real_t tmp_qloop_55 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_56 = tmp_qloop_22*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_55 - tmp_qloop_35 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_55 - tmp_qloop_37 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_55 - tmp_qloop_39 - tmp_qloop_46);
+                   const real_t tmp_qloop_57 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_58 = -tmp_qloop_1 - tmp_qloop_57 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_59 = tmp_qloop_22*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_58 - tmp_qloop_34 - tmp_qloop_49) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_58 - tmp_qloop_36 - tmp_qloop_51) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_53);
+                   const real_t tmp_qloop_60 = -tmp_qloop_2 - tmp_qloop_57 - 8.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_61 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_60 - tmp_qloop_41 - tmp_qloop_48) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_60 - tmp_qloop_43 - tmp_qloop_50) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_60 - tmp_qloop_45 - tmp_qloop_52);
+                   const real_t tmp_qloop_62 = tmp_qloop_10*tmp_qloop_26;
+                   const real_t tmp_qloop_63 = tmp_qloop_13*tmp_qloop_26;
+                   const real_t tmp_qloop_64 = tmp_qloop_16*tmp_qloop_26;
+                   const real_t tmp_qloop_65 = tmp_qloop_26*tmp_qloop_7;
+                   const real_t tmp_qloop_66 = tmp_qloop_26*tmp_qloop_6;
+                   const real_t tmp_qloop_67 = tmp_qloop_26*tmp_qloop_5;
+                   const real_t tmp_qloop_68 = tmp_qloop_17*tmp_qloop_26;
+                   const real_t tmp_qloop_69 = tmp_qloop_18*tmp_qloop_26;
+                   const real_t tmp_qloop_70 = tmp_qloop_20*tmp_qloop_26;
+                   const real_t q_tmp_0_0 = tmp_qloop_25*tmp_qloop_27;
+                   const real_t q_tmp_0_1 = tmp_qloop_27*tmp_qloop_29;
+                   const real_t q_tmp_0_2 = tmp_qloop_27*tmp_qloop_31;
+                   const real_t q_tmp_0_3 = tmp_qloop_27*tmp_qloop_33;
+                   const real_t q_tmp_0_4 = tmp_qloop_27*tmp_qloop_40;
+                   const real_t q_tmp_0_5 = tmp_qloop_27*tmp_qloop_47;
+                   const real_t q_tmp_0_6 = tmp_qloop_27*tmp_qloop_54;
+                   const real_t q_tmp_0_7 = tmp_qloop_27*tmp_qloop_56;
+                   const real_t q_tmp_0_8 = tmp_qloop_27*tmp_qloop_59;
+                   const real_t q_tmp_0_9 = tmp_qloop_27*tmp_qloop_61;
+                   const real_t q_tmp_1_0 = tmp_qloop_25*tmp_qloop_62;
+                   const real_t q_tmp_1_1 = tmp_qloop_29*tmp_qloop_62;
+                   const real_t q_tmp_1_2 = tmp_qloop_31*tmp_qloop_62;
+                   const real_t q_tmp_1_3 = tmp_qloop_33*tmp_qloop_62;
+                   const real_t q_tmp_1_4 = tmp_qloop_40*tmp_qloop_62;
+                   const real_t q_tmp_1_5 = tmp_qloop_47*tmp_qloop_62;
+                   const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                   const real_t q_tmp_1_7 = tmp_qloop_56*tmp_qloop_62;
+                   const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                   const real_t q_tmp_1_9 = tmp_qloop_61*tmp_qloop_62;
+                   const real_t q_tmp_2_0 = tmp_qloop_25*tmp_qloop_63;
+                   const real_t q_tmp_2_1 = tmp_qloop_29*tmp_qloop_63;
+                   const real_t q_tmp_2_2 = tmp_qloop_31*tmp_qloop_63;
+                   const real_t q_tmp_2_3 = tmp_qloop_33*tmp_qloop_63;
+                   const real_t q_tmp_2_4 = tmp_qloop_40*tmp_qloop_63;
+                   const real_t q_tmp_2_5 = tmp_qloop_47*tmp_qloop_63;
+                   const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_63;
+                   const real_t q_tmp_2_7 = tmp_qloop_56*tmp_qloop_63;
+                   const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_63;
+                   const real_t q_tmp_2_9 = tmp_qloop_61*tmp_qloop_63;
+                   const real_t q_tmp_3_0 = tmp_qloop_25*tmp_qloop_64;
+                   const real_t q_tmp_3_1 = tmp_qloop_29*tmp_qloop_64;
+                   const real_t q_tmp_3_2 = tmp_qloop_31*tmp_qloop_64;
+                   const real_t q_tmp_3_3 = tmp_qloop_33*tmp_qloop_64;
+                   const real_t q_tmp_3_4 = tmp_qloop_40*tmp_qloop_64;
+                   const real_t q_tmp_3_5 = tmp_qloop_47*tmp_qloop_64;
+                   const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_64;
+                   const real_t q_tmp_3_7 = tmp_qloop_56*tmp_qloop_64;
+                   const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_64;
+                   const real_t q_tmp_3_9 = tmp_qloop_61*tmp_qloop_64;
+                   const real_t q_tmp_4_0 = tmp_qloop_25*tmp_qloop_65;
+                   const real_t q_tmp_4_1 = tmp_qloop_29*tmp_qloop_65;
+                   const real_t q_tmp_4_2 = tmp_qloop_31*tmp_qloop_65;
+                   const real_t q_tmp_4_3 = tmp_qloop_33*tmp_qloop_65;
+                   const real_t q_tmp_4_4 = tmp_qloop_40*tmp_qloop_65;
+                   const real_t q_tmp_4_5 = tmp_qloop_47*tmp_qloop_65;
+                   const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_65;
+                   const real_t q_tmp_4_7 = tmp_qloop_56*tmp_qloop_65;
+                   const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_65;
+                   const real_t q_tmp_4_9 = tmp_qloop_61*tmp_qloop_65;
+                   const real_t q_tmp_5_0 = tmp_qloop_25*tmp_qloop_66;
+                   const real_t q_tmp_5_1 = tmp_qloop_29*tmp_qloop_66;
+                   const real_t q_tmp_5_2 = tmp_qloop_31*tmp_qloop_66;
+                   const real_t q_tmp_5_3 = tmp_qloop_33*tmp_qloop_66;
+                   const real_t q_tmp_5_4 = tmp_qloop_40*tmp_qloop_66;
+                   const real_t q_tmp_5_5 = tmp_qloop_47*tmp_qloop_66;
+                   const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_66;
+                   const real_t q_tmp_5_7 = tmp_qloop_56*tmp_qloop_66;
+                   const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_66;
+                   const real_t q_tmp_5_9 = tmp_qloop_61*tmp_qloop_66;
+                   const real_t q_tmp_6_0 = tmp_qloop_25*tmp_qloop_67;
+                   const real_t q_tmp_6_1 = tmp_qloop_29*tmp_qloop_67;
+                   const real_t q_tmp_6_2 = tmp_qloop_31*tmp_qloop_67;
+                   const real_t q_tmp_6_3 = tmp_qloop_33*tmp_qloop_67;
+                   const real_t q_tmp_6_4 = tmp_qloop_40*tmp_qloop_67;
+                   const real_t q_tmp_6_5 = tmp_qloop_47*tmp_qloop_67;
+                   const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_67;
+                   const real_t q_tmp_6_7 = tmp_qloop_56*tmp_qloop_67;
+                   const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_67;
+                   const real_t q_tmp_6_9 = tmp_qloop_61*tmp_qloop_67;
+                   const real_t q_tmp_7_0 = tmp_qloop_25*tmp_qloop_68;
+                   const real_t q_tmp_7_1 = tmp_qloop_29*tmp_qloop_68;
+                   const real_t q_tmp_7_2 = tmp_qloop_31*tmp_qloop_68;
+                   const real_t q_tmp_7_3 = tmp_qloop_33*tmp_qloop_68;
+                   const real_t q_tmp_7_4 = tmp_qloop_40*tmp_qloop_68;
+                   const real_t q_tmp_7_5 = tmp_qloop_47*tmp_qloop_68;
+                   const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_68;
+                   const real_t q_tmp_7_7 = tmp_qloop_56*tmp_qloop_68;
+                   const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_68;
+                   const real_t q_tmp_7_9 = tmp_qloop_61*tmp_qloop_68;
+                   const real_t q_tmp_8_0 = tmp_qloop_25*tmp_qloop_69;
+                   const real_t q_tmp_8_1 = tmp_qloop_29*tmp_qloop_69;
+                   const real_t q_tmp_8_2 = tmp_qloop_31*tmp_qloop_69;
+                   const real_t q_tmp_8_3 = tmp_qloop_33*tmp_qloop_69;
+                   const real_t q_tmp_8_4 = tmp_qloop_40*tmp_qloop_69;
+                   const real_t q_tmp_8_5 = tmp_qloop_47*tmp_qloop_69;
+                   const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_69;
+                   const real_t q_tmp_8_7 = tmp_qloop_56*tmp_qloop_69;
+                   const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_69;
+                   const real_t q_tmp_8_9 = tmp_qloop_61*tmp_qloop_69;
+                   const real_t q_tmp_9_0 = tmp_qloop_25*tmp_qloop_70;
+                   const real_t q_tmp_9_1 = tmp_qloop_29*tmp_qloop_70;
+                   const real_t q_tmp_9_2 = tmp_qloop_31*tmp_qloop_70;
+                   const real_t q_tmp_9_3 = tmp_qloop_33*tmp_qloop_70;
+                   const real_t q_tmp_9_4 = tmp_qloop_40*tmp_qloop_70;
+                   const real_t q_tmp_9_5 = tmp_qloop_47*tmp_qloop_70;
+                   const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_70;
+                   const real_t q_tmp_9_7 = tmp_qloop_56*tmp_qloop_70;
+                   const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_70;
+                   const real_t q_tmp_9_9 = tmp_qloop_61*tmp_qloop_70;
+                   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;
+                   q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                   q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                   q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                   q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                   q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                   q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                   q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                   q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                   q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                   q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                   q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                   q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                   q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                   q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                   q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                   q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                   q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                   q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                   q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                   q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                   q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                   q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                   q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                   q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                   q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                   q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                   q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                   q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                   q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                   q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                   q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                   q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                   q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                   q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                   q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                   q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                   q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                   q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                   q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                   q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                   q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                   q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                   q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                   q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                   q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                   q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                   q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                   q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                   q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+                const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+                const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+                const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+                const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+                const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+                const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+                _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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] = elMatVec_6 + _data_dstEdge[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_dstEdge[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))] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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))];
+             }
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/advection/avx/P2ElementwiseAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseAdvection_macro_3D.cpp b/operators/advection/avx/P2ElementwiseAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseAdvection_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..10481bf0fba4d56b189a6c743b990d7573742895
--- /dev/null
+++ b/operators/advection/avx/P2ElementwiseAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseAdvection_macro_3D.cpp
@@ -0,0 +1,2520 @@
+/*
+* 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 Operator Generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ElementwiseAdvection.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ElementwiseAdvection::computeInverseDiagonalOperatorValues_P2ElementwiseAdvection_macro_3D( real_t * RESTRICT  _data_cpEdge, real_t * RESTRICT  _data_cpVertex, real_t * RESTRICT  _data_invDiag_Edge, real_t * RESTRICT  _data_invDiag_Vertex, real_t * RESTRICT  _data_uxEdge, real_t * RESTRICT  _data_uxVertex, real_t * RESTRICT  _data_uyEdge, real_t * RESTRICT  _data_uyVertex, real_t * RESTRICT  _data_uzEdge, real_t * RESTRICT  _data_uzVertex, 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 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_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 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_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 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_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 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP;
+       const real_t tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP);
+       const real_t jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP);
+       const real_t jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP);
+       const real_t jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP);
+       const real_t jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP);
+       {
+          /* CellType.WHITE_UP */
+          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 cp_dof_0 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_1 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_2 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_3 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_4 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_5 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_6 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_7 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_8 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_9 = _mm256_loadu_pd(& _data_cpEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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_1_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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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(_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_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_2 = _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_3 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_4 = _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_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(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]));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_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_8 = _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_9 = _mm256_mul_pd(tmp_qloop_8,_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_10 = _mm256_mul_pd(tmp_qloop_8,_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_11 = _mm256_add_pd(tmp_qloop_10,tmp_qloop_9);
+                   const __m256d tmp_qloop_12 = _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_1),tmp_qloop_11),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7);
+                   const __m256d tmp_qloop_13 = _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]));
+                   const __m256d tmp_qloop_14 = _mm256_add_pd(tmp_qloop_6,tmp_qloop_8);
+                   const __m256d tmp_qloop_15 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_13),tmp_qloop_14);
+                   const __m256d tmp_qloop_16 = _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_1);
+                   const __m256d tmp_qloop_17 = _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_3);
+                   const __m256d tmp_qloop_18 = _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_5);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_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))),tmp_qloop_13);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_6);
+                   const __m256d tmp_qloop_21 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_8);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_5),_mm256_mul_pd(tmp_qloop_12,ux_dof_0)),_mm256_mul_pd(tmp_qloop_16,ux_dof_1)),_mm256_mul_pd(tmp_qloop_17,ux_dof_2)),_mm256_mul_pd(tmp_qloop_18,ux_dof_3)),_mm256_mul_pd(tmp_qloop_19,ux_dof_7)),_mm256_mul_pd(tmp_qloop_20,ux_dof_8)),_mm256_mul_pd(tmp_qloop_21,ux_dof_9)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4)),_mm256_mul_pd(tmp_qloop_9,ux_dof_6));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_5),_mm256_mul_pd(tmp_qloop_12,uy_dof_0)),_mm256_mul_pd(tmp_qloop_16,uy_dof_1)),_mm256_mul_pd(tmp_qloop_17,uy_dof_2)),_mm256_mul_pd(tmp_qloop_18,uy_dof_3)),_mm256_mul_pd(tmp_qloop_19,uy_dof_7)),_mm256_mul_pd(tmp_qloop_20,uy_dof_8)),_mm256_mul_pd(tmp_qloop_21,uy_dof_9)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4)),_mm256_mul_pd(tmp_qloop_9,uy_dof_6));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_5),_mm256_mul_pd(tmp_qloop_12,uz_dof_0)),_mm256_mul_pd(tmp_qloop_16,uz_dof_1)),_mm256_mul_pd(tmp_qloop_17,uz_dof_2)),_mm256_mul_pd(tmp_qloop_18,uz_dof_3)),_mm256_mul_pd(tmp_qloop_19,uz_dof_7)),_mm256_mul_pd(tmp_qloop_20,uz_dof_8)),_mm256_mul_pd(tmp_qloop_21,uz_dof_9)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4)),_mm256_mul_pd(tmp_qloop_9,uz_dof_6));
+                   const __m256d tmp_qloop_25 = _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(cp_dof_0,tmp_qloop_12),_mm256_mul_pd(cp_dof_1,tmp_qloop_16)),_mm256_mul_pd(cp_dof_2,tmp_qloop_17)),_mm256_mul_pd(cp_dof_3,tmp_qloop_18)),_mm256_mul_pd(cp_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_dof_5,tmp_qloop_10)),_mm256_mul_pd(cp_dof_6,tmp_qloop_9)),_mm256_mul_pd(cp_dof_7,tmp_qloop_19)),_mm256_mul_pd(cp_dof_8,tmp_qloop_20)),_mm256_mul_pd(cp_dof_9,tmp_qloop_21)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP));
+                   const __m256d tmp_qloop_26 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_8);
+                   const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_6);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_13);
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP));
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP));
+                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP));
+                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP));
+                   const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP));
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP));
+                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP));
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_13);
+                   const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_50 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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 q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))))));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_16,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_18,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_25,tmp_qloop_7),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_29,tmp_qloop_30)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_31,tmp_qloop_32))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_33,tmp_qloop_34))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_10,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_35,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40))));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_25,tmp_qloop_9),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46))));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))))));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))))));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_21,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))))));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_9);
+                }
+                const __m256d elMatDiag_0 = q_acc_0_0;
+                const __m256d elMatDiag_1 = q_acc_1_1;
+                const __m256d elMatDiag_2 = q_acc_2_2;
+                const __m256d elMatDiag_3 = q_acc_3_3;
+                const __m256d elMatDiag_4 = q_acc_4_4;
+                const __m256d elMatDiag_5 = q_acc_5_5;
+                const __m256d elMatDiag_6 = q_acc_6_6;
+                const __m256d elMatDiag_7 = q_acc_7_7;
+                const __m256d elMatDiag_8 = q_acc_8_8;
+                const __m256d elMatDiag_9 = q_acc_9_9;
+                _mm256_storeu_pd(&_data_invDiag_Vertex[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(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_6,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_7,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_8,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_9,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+             }
+             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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_1 = tmp_qloop_0*2.0;
+                   const real_t tmp_qloop_2 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_3 = tmp_qloop_2*2.0;
+                   const real_t tmp_qloop_4 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                   const real_t tmp_qloop_6 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_6*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_9 = tmp_qloop_8*_data_q_p_1[q];
+                   const real_t tmp_qloop_10 = tmp_qloop_8*_data_q_p_2[q];
+                   const real_t tmp_qloop_11 = tmp_qloop_10 + tmp_qloop_9;
+                   const real_t tmp_qloop_12 = tmp_qloop_1 + tmp_qloop_11 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                   const real_t tmp_qloop_13 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_14 = tmp_qloop_6 + tmp_qloop_8;
+                   const real_t tmp_qloop_15 = tmp_qloop_13 + tmp_qloop_14 - 3.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_1 - _data_q_p_0[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_3 - _data_q_p_1[q];
+                   const real_t tmp_qloop_18 = tmp_qloop_5 - _data_q_p_2[q];
+                   const real_t tmp_qloop_19 = -tmp_qloop_10 + tmp_qloop_13 + tmp_qloop_4*-4.0 - tmp_qloop_7;
+                   const real_t tmp_qloop_20 = tmp_qloop_2*-4.0 + tmp_qloop_6 - tmp_qloop_7 - tmp_qloop_9;
+                   const real_t tmp_qloop_21 = tmp_qloop_0*-4.0 - tmp_qloop_11 + tmp_qloop_8;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_5 + tmp_qloop_12*ux_dof_0 + tmp_qloop_16*ux_dof_1 + tmp_qloop_17*ux_dof_2 + tmp_qloop_18*ux_dof_3 + tmp_qloop_19*ux_dof_7 + tmp_qloop_20*ux_dof_8 + tmp_qloop_21*ux_dof_9 + tmp_qloop_7*ux_dof_4 + tmp_qloop_9*ux_dof_6;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_5 + tmp_qloop_12*uy_dof_0 + tmp_qloop_16*uy_dof_1 + tmp_qloop_17*uy_dof_2 + tmp_qloop_18*uy_dof_3 + tmp_qloop_19*uy_dof_7 + tmp_qloop_20*uy_dof_8 + tmp_qloop_21*uy_dof_9 + tmp_qloop_7*uy_dof_4 + tmp_qloop_9*uy_dof_6;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_5 + tmp_qloop_12*uz_dof_0 + tmp_qloop_16*uz_dof_1 + tmp_qloop_17*uz_dof_2 + tmp_qloop_18*uz_dof_3 + tmp_qloop_19*uz_dof_7 + tmp_qloop_20*uz_dof_8 + tmp_qloop_21*uz_dof_9 + tmp_qloop_7*uz_dof_4 + tmp_qloop_9*uz_dof_6;
+                   const real_t tmp_qloop_25 = abs_det_jac_affine_WHITE_UP*(cp_dof_0*tmp_qloop_12 + cp_dof_1*tmp_qloop_16 + cp_dof_2*tmp_qloop_17 + cp_dof_3*tmp_qloop_18 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_10 + cp_dof_6*tmp_qloop_9 + cp_dof_7*tmp_qloop_19 + cp_dof_8*tmp_qloop_20 + cp_dof_9*tmp_qloop_21)*_data_q_w[q];
+                   const real_t tmp_qloop_26 = tmp_qloop_8 - 1.0;
+                   const real_t tmp_qloop_27 = tmp_qloop_6 - 1.0;
+                   const real_t tmp_qloop_28 = tmp_qloop_13 - 1.0;
+                   const real_t tmp_qloop_29 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_6;
+                   const real_t tmp_qloop_30 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_13;
+                   const real_t tmp_qloop_31 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_6;
+                   const real_t tmp_qloop_32 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_13;
+                   const real_t tmp_qloop_33 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_6;
+                   const real_t tmp_qloop_34 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_13;
+                   const real_t tmp_qloop_35 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_8;
+                   const real_t tmp_qloop_36 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_13;
+                   const real_t tmp_qloop_37 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_8;
+                   const real_t tmp_qloop_38 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_13;
+                   const real_t tmp_qloop_39 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_8;
+                   const real_t tmp_qloop_40 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_13;
+                   const real_t tmp_qloop_41 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_8;
+                   const real_t tmp_qloop_42 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_6;
+                   const real_t tmp_qloop_43 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_8;
+                   const real_t tmp_qloop_44 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_6;
+                   const real_t tmp_qloop_45 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_8;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_6;
+                   const real_t tmp_qloop_47 = -tmp_qloop_14 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_48 = tmp_qloop_13 - 4.0;
+                   const real_t tmp_qloop_49 = -tmp_qloop_48 - tmp_qloop_8 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_50 = -tmp_qloop_48 - tmp_qloop_6 - 8.0*_data_q_p_0[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_12*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_15 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_15 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_15) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_15 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_15 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_15) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_15 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_15 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_15));
+                   const real_t q_tmp_1_1 = tmp_qloop_16*tmp_qloop_25*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_24*tmp_qloop_26);
+                   const real_t q_tmp_2_2 = tmp_qloop_17*tmp_qloop_25*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_24*tmp_qloop_27);
+                   const real_t q_tmp_3_3 = tmp_qloop_18*tmp_qloop_25*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_24*tmp_qloop_28);
+                   const real_t q_tmp_4_4 = tmp_qloop_25*tmp_qloop_7*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34));
+                   const real_t q_tmp_5_5 = tmp_qloop_10*tmp_qloop_25*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40));
+                   const real_t q_tmp_6_6 = tmp_qloop_25*tmp_qloop_9*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46));
+                   const real_t q_tmp_7_7 = tmp_qloop_19*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40));
+                   const real_t q_tmp_8_8 = tmp_qloop_20*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46));
+                   const real_t q_tmp_9_9 = tmp_qloop_21*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45));
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+                }
+                const real_t elMatDiag_0 = q_acc_0_0;
+                const real_t elMatDiag_1 = q_acc_1_1;
+                const real_t elMatDiag_2 = q_acc_2_2;
+                const real_t elMatDiag_3 = q_acc_3_3;
+                const real_t elMatDiag_4 = q_acc_4_4;
+                const real_t elMatDiag_5 = q_acc_5_5;
+                const real_t elMatDiag_6 = q_acc_6_6;
+                const real_t elMatDiag_7 = q_acc_7_7;
+                const real_t elMatDiag_8 = q_acc_8_8;
+                const real_t elMatDiag_9 = q_acc_9_9;
+                _data_invDiag_Vertex[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))] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_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 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_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 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_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 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN;
+       const real_t tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN);
+       const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN);
+       const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN);
+       const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN);
+       const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN);
+       {
+          /* CellType.WHITE_DOWN */
+          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 cp_dof_0 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_1 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_2 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_3 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_4 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_5 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_6 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_7 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_8 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_9 = _mm256_loadu_pd(& _data_cpEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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_1_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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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(_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_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_2 = _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_3 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_4 = _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_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(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]));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_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_8 = _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_9 = _mm256_mul_pd(tmp_qloop_8,_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_10 = _mm256_mul_pd(tmp_qloop_8,_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_11 = _mm256_add_pd(tmp_qloop_10,tmp_qloop_9);
+                   const __m256d tmp_qloop_12 = _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_1),tmp_qloop_11),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7);
+                   const __m256d tmp_qloop_13 = _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]));
+                   const __m256d tmp_qloop_14 = _mm256_add_pd(tmp_qloop_6,tmp_qloop_8);
+                   const __m256d tmp_qloop_15 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_13),tmp_qloop_14);
+                   const __m256d tmp_qloop_16 = _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_1);
+                   const __m256d tmp_qloop_17 = _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_3);
+                   const __m256d tmp_qloop_18 = _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_5);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_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))),tmp_qloop_13);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_6);
+                   const __m256d tmp_qloop_21 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_8);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_5),_mm256_mul_pd(tmp_qloop_12,ux_dof_0)),_mm256_mul_pd(tmp_qloop_16,ux_dof_1)),_mm256_mul_pd(tmp_qloop_17,ux_dof_2)),_mm256_mul_pd(tmp_qloop_18,ux_dof_3)),_mm256_mul_pd(tmp_qloop_19,ux_dof_7)),_mm256_mul_pd(tmp_qloop_20,ux_dof_8)),_mm256_mul_pd(tmp_qloop_21,ux_dof_9)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4)),_mm256_mul_pd(tmp_qloop_9,ux_dof_6));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_5),_mm256_mul_pd(tmp_qloop_12,uy_dof_0)),_mm256_mul_pd(tmp_qloop_16,uy_dof_1)),_mm256_mul_pd(tmp_qloop_17,uy_dof_2)),_mm256_mul_pd(tmp_qloop_18,uy_dof_3)),_mm256_mul_pd(tmp_qloop_19,uy_dof_7)),_mm256_mul_pd(tmp_qloop_20,uy_dof_8)),_mm256_mul_pd(tmp_qloop_21,uy_dof_9)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4)),_mm256_mul_pd(tmp_qloop_9,uy_dof_6));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_5),_mm256_mul_pd(tmp_qloop_12,uz_dof_0)),_mm256_mul_pd(tmp_qloop_16,uz_dof_1)),_mm256_mul_pd(tmp_qloop_17,uz_dof_2)),_mm256_mul_pd(tmp_qloop_18,uz_dof_3)),_mm256_mul_pd(tmp_qloop_19,uz_dof_7)),_mm256_mul_pd(tmp_qloop_20,uz_dof_8)),_mm256_mul_pd(tmp_qloop_21,uz_dof_9)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4)),_mm256_mul_pd(tmp_qloop_9,uz_dof_6));
+                   const __m256d tmp_qloop_25 = _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(cp_dof_0,tmp_qloop_12),_mm256_mul_pd(cp_dof_1,tmp_qloop_16)),_mm256_mul_pd(cp_dof_2,tmp_qloop_17)),_mm256_mul_pd(cp_dof_3,tmp_qloop_18)),_mm256_mul_pd(cp_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_dof_5,tmp_qloop_10)),_mm256_mul_pd(cp_dof_6,tmp_qloop_9)),_mm256_mul_pd(cp_dof_7,tmp_qloop_19)),_mm256_mul_pd(cp_dof_8,tmp_qloop_20)),_mm256_mul_pd(cp_dof_9,tmp_qloop_21)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN));
+                   const __m256d tmp_qloop_26 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_8);
+                   const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_6);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_13);
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_13);
+                   const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_50 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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 q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))))));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_16,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_18,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_25,tmp_qloop_7),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_29,tmp_qloop_30)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_31,tmp_qloop_32))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_33,tmp_qloop_34))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_10,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_35,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40))));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_25,tmp_qloop_9),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46))));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))))));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))))));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_21,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))))));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_9);
+                }
+                const __m256d elMatDiag_0 = q_acc_0_0;
+                const __m256d elMatDiag_1 = q_acc_1_1;
+                const __m256d elMatDiag_2 = q_acc_2_2;
+                const __m256d elMatDiag_3 = q_acc_3_3;
+                const __m256d elMatDiag_4 = q_acc_4_4;
+                const __m256d elMatDiag_5 = q_acc_5_5;
+                const __m256d elMatDiag_6 = q_acc_6_6;
+                const __m256d elMatDiag_7 = q_acc_7_7;
+                const __m256d elMatDiag_8 = q_acc_8_8;
+                const __m256d elMatDiag_9 = q_acc_9_9;
+                _mm256_storeu_pd(&_data_invDiag_Vertex[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(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_Vertex[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_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_6,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_7,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_8,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_9,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+             }
+             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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_1 = tmp_qloop_0*2.0;
+                   const real_t tmp_qloop_2 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_3 = tmp_qloop_2*2.0;
+                   const real_t tmp_qloop_4 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                   const real_t tmp_qloop_6 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_6*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_9 = tmp_qloop_8*_data_q_p_1[q];
+                   const real_t tmp_qloop_10 = tmp_qloop_8*_data_q_p_2[q];
+                   const real_t tmp_qloop_11 = tmp_qloop_10 + tmp_qloop_9;
+                   const real_t tmp_qloop_12 = tmp_qloop_1 + tmp_qloop_11 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                   const real_t tmp_qloop_13 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_14 = tmp_qloop_6 + tmp_qloop_8;
+                   const real_t tmp_qloop_15 = tmp_qloop_13 + tmp_qloop_14 - 3.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_1 - _data_q_p_0[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_3 - _data_q_p_1[q];
+                   const real_t tmp_qloop_18 = tmp_qloop_5 - _data_q_p_2[q];
+                   const real_t tmp_qloop_19 = -tmp_qloop_10 + tmp_qloop_13 + tmp_qloop_4*-4.0 - tmp_qloop_7;
+                   const real_t tmp_qloop_20 = tmp_qloop_2*-4.0 + tmp_qloop_6 - tmp_qloop_7 - tmp_qloop_9;
+                   const real_t tmp_qloop_21 = tmp_qloop_0*-4.0 - tmp_qloop_11 + tmp_qloop_8;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_5 + tmp_qloop_12*ux_dof_0 + tmp_qloop_16*ux_dof_1 + tmp_qloop_17*ux_dof_2 + tmp_qloop_18*ux_dof_3 + tmp_qloop_19*ux_dof_7 + tmp_qloop_20*ux_dof_8 + tmp_qloop_21*ux_dof_9 + tmp_qloop_7*ux_dof_4 + tmp_qloop_9*ux_dof_6;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_5 + tmp_qloop_12*uy_dof_0 + tmp_qloop_16*uy_dof_1 + tmp_qloop_17*uy_dof_2 + tmp_qloop_18*uy_dof_3 + tmp_qloop_19*uy_dof_7 + tmp_qloop_20*uy_dof_8 + tmp_qloop_21*uy_dof_9 + tmp_qloop_7*uy_dof_4 + tmp_qloop_9*uy_dof_6;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_5 + tmp_qloop_12*uz_dof_0 + tmp_qloop_16*uz_dof_1 + tmp_qloop_17*uz_dof_2 + tmp_qloop_18*uz_dof_3 + tmp_qloop_19*uz_dof_7 + tmp_qloop_20*uz_dof_8 + tmp_qloop_21*uz_dof_9 + tmp_qloop_7*uz_dof_4 + tmp_qloop_9*uz_dof_6;
+                   const real_t tmp_qloop_25 = abs_det_jac_affine_WHITE_DOWN*(cp_dof_0*tmp_qloop_12 + cp_dof_1*tmp_qloop_16 + cp_dof_2*tmp_qloop_17 + cp_dof_3*tmp_qloop_18 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_10 + cp_dof_6*tmp_qloop_9 + cp_dof_7*tmp_qloop_19 + cp_dof_8*tmp_qloop_20 + cp_dof_9*tmp_qloop_21)*_data_q_w[q];
+                   const real_t tmp_qloop_26 = tmp_qloop_8 - 1.0;
+                   const real_t tmp_qloop_27 = tmp_qloop_6 - 1.0;
+                   const real_t tmp_qloop_28 = tmp_qloop_13 - 1.0;
+                   const real_t tmp_qloop_29 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_6;
+                   const real_t tmp_qloop_30 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_13;
+                   const real_t tmp_qloop_31 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_6;
+                   const real_t tmp_qloop_32 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_13;
+                   const real_t tmp_qloop_33 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_6;
+                   const real_t tmp_qloop_34 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_13;
+                   const real_t tmp_qloop_35 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_8;
+                   const real_t tmp_qloop_36 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_13;
+                   const real_t tmp_qloop_37 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_8;
+                   const real_t tmp_qloop_38 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_13;
+                   const real_t tmp_qloop_39 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_8;
+                   const real_t tmp_qloop_40 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_13;
+                   const real_t tmp_qloop_41 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_8;
+                   const real_t tmp_qloop_42 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_6;
+                   const real_t tmp_qloop_43 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_8;
+                   const real_t tmp_qloop_44 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_6;
+                   const real_t tmp_qloop_45 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_8;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_6;
+                   const real_t tmp_qloop_47 = -tmp_qloop_14 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_48 = tmp_qloop_13 - 4.0;
+                   const real_t tmp_qloop_49 = -tmp_qloop_48 - tmp_qloop_8 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_50 = -tmp_qloop_48 - tmp_qloop_6 - 8.0*_data_q_p_0[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_12*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_15 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_15 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_15) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_15 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_15 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_15) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_15 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_15 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_15));
+                   const real_t q_tmp_1_1 = tmp_qloop_16*tmp_qloop_25*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_26);
+                   const real_t q_tmp_2_2 = tmp_qloop_17*tmp_qloop_25*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_27);
+                   const real_t q_tmp_3_3 = tmp_qloop_18*tmp_qloop_25*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_28);
+                   const real_t q_tmp_4_4 = tmp_qloop_25*tmp_qloop_7*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34));
+                   const real_t q_tmp_5_5 = tmp_qloop_10*tmp_qloop_25*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40));
+                   const real_t q_tmp_6_6 = tmp_qloop_25*tmp_qloop_9*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46));
+                   const real_t q_tmp_7_7 = tmp_qloop_19*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40));
+                   const real_t q_tmp_8_8 = tmp_qloop_20*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46));
+                   const real_t q_tmp_9_9 = tmp_qloop_21*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45));
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+                }
+                const real_t elMatDiag_0 = q_acc_0_0;
+                const real_t elMatDiag_1 = q_acc_1_1;
+                const real_t elMatDiag_2 = q_acc_2_2;
+                const real_t elMatDiag_3 = q_acc_3_3;
+                const real_t elMatDiag_4 = q_acc_4_4;
+                const real_t elMatDiag_5 = q_acc_5_5;
+                const real_t elMatDiag_6 = q_acc_6_6;
+                const real_t elMatDiag_7 = q_acc_7_7;
+                const real_t elMatDiag_8 = q_acc_8_8;
+                const real_t elMatDiag_9 = q_acc_9_9;
+                _data_invDiag_Vertex[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] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_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 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_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 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_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 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP;
+       const real_t tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP);
+       const real_t jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP);
+       const real_t jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP);
+       const real_t jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP);
+       const real_t jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP);
+       {
+          /* CellType.BLUE_UP */
+          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 cp_dof_0 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_1 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_2 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_3 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_4 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_5 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_6 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_7 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_8 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_9 = _mm256_loadu_pd(& _data_cpEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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_1_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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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(_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_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_2 = _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_3 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_4 = _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_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(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]));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_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_8 = _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_9 = _mm256_mul_pd(tmp_qloop_8,_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_10 = _mm256_mul_pd(tmp_qloop_8,_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_11 = _mm256_add_pd(tmp_qloop_10,tmp_qloop_9);
+                   const __m256d tmp_qloop_12 = _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_1),tmp_qloop_11),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7);
+                   const __m256d tmp_qloop_13 = _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]));
+                   const __m256d tmp_qloop_14 = _mm256_add_pd(tmp_qloop_6,tmp_qloop_8);
+                   const __m256d tmp_qloop_15 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_13),tmp_qloop_14);
+                   const __m256d tmp_qloop_16 = _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_1);
+                   const __m256d tmp_qloop_17 = _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_3);
+                   const __m256d tmp_qloop_18 = _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_5);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_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))),tmp_qloop_13);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_6);
+                   const __m256d tmp_qloop_21 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_8);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_5),_mm256_mul_pd(tmp_qloop_12,ux_dof_0)),_mm256_mul_pd(tmp_qloop_16,ux_dof_1)),_mm256_mul_pd(tmp_qloop_17,ux_dof_2)),_mm256_mul_pd(tmp_qloop_18,ux_dof_3)),_mm256_mul_pd(tmp_qloop_19,ux_dof_7)),_mm256_mul_pd(tmp_qloop_20,ux_dof_8)),_mm256_mul_pd(tmp_qloop_21,ux_dof_9)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4)),_mm256_mul_pd(tmp_qloop_9,ux_dof_6));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_5),_mm256_mul_pd(tmp_qloop_12,uy_dof_0)),_mm256_mul_pd(tmp_qloop_16,uy_dof_1)),_mm256_mul_pd(tmp_qloop_17,uy_dof_2)),_mm256_mul_pd(tmp_qloop_18,uy_dof_3)),_mm256_mul_pd(tmp_qloop_19,uy_dof_7)),_mm256_mul_pd(tmp_qloop_20,uy_dof_8)),_mm256_mul_pd(tmp_qloop_21,uy_dof_9)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4)),_mm256_mul_pd(tmp_qloop_9,uy_dof_6));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_5),_mm256_mul_pd(tmp_qloop_12,uz_dof_0)),_mm256_mul_pd(tmp_qloop_16,uz_dof_1)),_mm256_mul_pd(tmp_qloop_17,uz_dof_2)),_mm256_mul_pd(tmp_qloop_18,uz_dof_3)),_mm256_mul_pd(tmp_qloop_19,uz_dof_7)),_mm256_mul_pd(tmp_qloop_20,uz_dof_8)),_mm256_mul_pd(tmp_qloop_21,uz_dof_9)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4)),_mm256_mul_pd(tmp_qloop_9,uz_dof_6));
+                   const __m256d tmp_qloop_25 = _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(cp_dof_0,tmp_qloop_12),_mm256_mul_pd(cp_dof_1,tmp_qloop_16)),_mm256_mul_pd(cp_dof_2,tmp_qloop_17)),_mm256_mul_pd(cp_dof_3,tmp_qloop_18)),_mm256_mul_pd(cp_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_dof_5,tmp_qloop_10)),_mm256_mul_pd(cp_dof_6,tmp_qloop_9)),_mm256_mul_pd(cp_dof_7,tmp_qloop_19)),_mm256_mul_pd(cp_dof_8,tmp_qloop_20)),_mm256_mul_pd(cp_dof_9,tmp_qloop_21)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP));
+                   const __m256d tmp_qloop_26 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_8);
+                   const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_6);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_13);
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP));
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP));
+                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP));
+                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP));
+                   const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP));
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP));
+                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP));
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_13);
+                   const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_50 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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 q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))))));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_16,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_18,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_25,tmp_qloop_7),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_29,tmp_qloop_30)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_31,tmp_qloop_32))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_33,tmp_qloop_34))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_10,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_35,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40))));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_25,tmp_qloop_9),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46))));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))))));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))))));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_21,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))))));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_9);
+                }
+                const __m256d elMatDiag_0 = q_acc_0_0;
+                const __m256d elMatDiag_1 = q_acc_1_1;
+                const __m256d elMatDiag_2 = q_acc_2_2;
+                const __m256d elMatDiag_3 = q_acc_3_3;
+                const __m256d elMatDiag_4 = q_acc_4_4;
+                const __m256d elMatDiag_5 = q_acc_5_5;
+                const __m256d elMatDiag_6 = q_acc_6_6;
+                const __m256d elMatDiag_7 = q_acc_7_7;
+                const __m256d elMatDiag_8 = q_acc_8_8;
+                const __m256d elMatDiag_9 = q_acc_9_9;
+                _mm256_storeu_pd(&_data_invDiag_Vertex[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(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Edge[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],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_6,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_7,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_8,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_9,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+             }
+             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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_1 = tmp_qloop_0*2.0;
+                   const real_t tmp_qloop_2 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_3 = tmp_qloop_2*2.0;
+                   const real_t tmp_qloop_4 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                   const real_t tmp_qloop_6 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_6*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_9 = tmp_qloop_8*_data_q_p_1[q];
+                   const real_t tmp_qloop_10 = tmp_qloop_8*_data_q_p_2[q];
+                   const real_t tmp_qloop_11 = tmp_qloop_10 + tmp_qloop_9;
+                   const real_t tmp_qloop_12 = tmp_qloop_1 + tmp_qloop_11 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                   const real_t tmp_qloop_13 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_14 = tmp_qloop_6 + tmp_qloop_8;
+                   const real_t tmp_qloop_15 = tmp_qloop_13 + tmp_qloop_14 - 3.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_1 - _data_q_p_0[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_3 - _data_q_p_1[q];
+                   const real_t tmp_qloop_18 = tmp_qloop_5 - _data_q_p_2[q];
+                   const real_t tmp_qloop_19 = -tmp_qloop_10 + tmp_qloop_13 + tmp_qloop_4*-4.0 - tmp_qloop_7;
+                   const real_t tmp_qloop_20 = tmp_qloop_2*-4.0 + tmp_qloop_6 - tmp_qloop_7 - tmp_qloop_9;
+                   const real_t tmp_qloop_21 = tmp_qloop_0*-4.0 - tmp_qloop_11 + tmp_qloop_8;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_5 + tmp_qloop_12*ux_dof_0 + tmp_qloop_16*ux_dof_1 + tmp_qloop_17*ux_dof_2 + tmp_qloop_18*ux_dof_3 + tmp_qloop_19*ux_dof_7 + tmp_qloop_20*ux_dof_8 + tmp_qloop_21*ux_dof_9 + tmp_qloop_7*ux_dof_4 + tmp_qloop_9*ux_dof_6;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_5 + tmp_qloop_12*uy_dof_0 + tmp_qloop_16*uy_dof_1 + tmp_qloop_17*uy_dof_2 + tmp_qloop_18*uy_dof_3 + tmp_qloop_19*uy_dof_7 + tmp_qloop_20*uy_dof_8 + tmp_qloop_21*uy_dof_9 + tmp_qloop_7*uy_dof_4 + tmp_qloop_9*uy_dof_6;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_5 + tmp_qloop_12*uz_dof_0 + tmp_qloop_16*uz_dof_1 + tmp_qloop_17*uz_dof_2 + tmp_qloop_18*uz_dof_3 + tmp_qloop_19*uz_dof_7 + tmp_qloop_20*uz_dof_8 + tmp_qloop_21*uz_dof_9 + tmp_qloop_7*uz_dof_4 + tmp_qloop_9*uz_dof_6;
+                   const real_t tmp_qloop_25 = abs_det_jac_affine_BLUE_UP*(cp_dof_0*tmp_qloop_12 + cp_dof_1*tmp_qloop_16 + cp_dof_2*tmp_qloop_17 + cp_dof_3*tmp_qloop_18 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_10 + cp_dof_6*tmp_qloop_9 + cp_dof_7*tmp_qloop_19 + cp_dof_8*tmp_qloop_20 + cp_dof_9*tmp_qloop_21)*_data_q_w[q];
+                   const real_t tmp_qloop_26 = tmp_qloop_8 - 1.0;
+                   const real_t tmp_qloop_27 = tmp_qloop_6 - 1.0;
+                   const real_t tmp_qloop_28 = tmp_qloop_13 - 1.0;
+                   const real_t tmp_qloop_29 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_6;
+                   const real_t tmp_qloop_30 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_13;
+                   const real_t tmp_qloop_31 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_6;
+                   const real_t tmp_qloop_32 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_13;
+                   const real_t tmp_qloop_33 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_6;
+                   const real_t tmp_qloop_34 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_13;
+                   const real_t tmp_qloop_35 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_8;
+                   const real_t tmp_qloop_36 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_13;
+                   const real_t tmp_qloop_37 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_8;
+                   const real_t tmp_qloop_38 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_13;
+                   const real_t tmp_qloop_39 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_8;
+                   const real_t tmp_qloop_40 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_13;
+                   const real_t tmp_qloop_41 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_8;
+                   const real_t tmp_qloop_42 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_6;
+                   const real_t tmp_qloop_43 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_8;
+                   const real_t tmp_qloop_44 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_6;
+                   const real_t tmp_qloop_45 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_8;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_6;
+                   const real_t tmp_qloop_47 = -tmp_qloop_14 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_48 = tmp_qloop_13 - 4.0;
+                   const real_t tmp_qloop_49 = -tmp_qloop_48 - tmp_qloop_8 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_50 = -tmp_qloop_48 - tmp_qloop_6 - 8.0*_data_q_p_0[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_12*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_15 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_15 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_15) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_15 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_15 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_15) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_15 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_15 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_15));
+                   const real_t q_tmp_1_1 = tmp_qloop_16*tmp_qloop_25*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_BLUE_UP*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_BLUE_UP*tmp_qloop_24*tmp_qloop_26);
+                   const real_t q_tmp_2_2 = tmp_qloop_17*tmp_qloop_25*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_24*tmp_qloop_27);
+                   const real_t q_tmp_3_3 = tmp_qloop_18*tmp_qloop_25*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_24*tmp_qloop_28);
+                   const real_t q_tmp_4_4 = tmp_qloop_25*tmp_qloop_7*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34));
+                   const real_t q_tmp_5_5 = tmp_qloop_10*tmp_qloop_25*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40));
+                   const real_t q_tmp_6_6 = tmp_qloop_25*tmp_qloop_9*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46));
+                   const real_t q_tmp_7_7 = tmp_qloop_19*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40));
+                   const real_t q_tmp_8_8 = tmp_qloop_20*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46));
+                   const real_t q_tmp_9_9 = tmp_qloop_21*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45));
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+                }
+                const real_t elMatDiag_0 = q_acc_0_0;
+                const real_t elMatDiag_1 = q_acc_1_1;
+                const real_t elMatDiag_2 = q_acc_2_2;
+                const real_t elMatDiag_3 = q_acc_3_3;
+                const real_t elMatDiag_4 = q_acc_4_4;
+                const real_t elMatDiag_5 = q_acc_5_5;
+                const real_t elMatDiag_6 = q_acc_6_6;
+                const real_t elMatDiag_7 = q_acc_7_7;
+                const real_t elMatDiag_8 = q_acc_8_8;
+                const real_t elMatDiag_9 = q_acc_9_9;
+                _data_invDiag_Vertex[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] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_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 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN;
+       const real_t tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN);
+       const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN);
+       const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN);
+       const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN);
+       const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN);
+       {
+          /* CellType.BLUE_DOWN */
+          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 cp_dof_0 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_1 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_2 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_3 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_4 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_5 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_6 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_7 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_8 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_9 = _mm256_loadu_pd(& _data_cpEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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_1_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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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(_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_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_2 = _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_3 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_4 = _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_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(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]));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_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_8 = _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_9 = _mm256_mul_pd(tmp_qloop_8,_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_10 = _mm256_mul_pd(tmp_qloop_8,_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_11 = _mm256_add_pd(tmp_qloop_10,tmp_qloop_9);
+                   const __m256d tmp_qloop_12 = _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_1),tmp_qloop_11),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7);
+                   const __m256d tmp_qloop_13 = _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]));
+                   const __m256d tmp_qloop_14 = _mm256_add_pd(tmp_qloop_6,tmp_qloop_8);
+                   const __m256d tmp_qloop_15 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_13),tmp_qloop_14);
+                   const __m256d tmp_qloop_16 = _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_1);
+                   const __m256d tmp_qloop_17 = _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_3);
+                   const __m256d tmp_qloop_18 = _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_5);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_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))),tmp_qloop_13);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_6);
+                   const __m256d tmp_qloop_21 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_8);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_5),_mm256_mul_pd(tmp_qloop_12,ux_dof_0)),_mm256_mul_pd(tmp_qloop_16,ux_dof_1)),_mm256_mul_pd(tmp_qloop_17,ux_dof_2)),_mm256_mul_pd(tmp_qloop_18,ux_dof_3)),_mm256_mul_pd(tmp_qloop_19,ux_dof_7)),_mm256_mul_pd(tmp_qloop_20,ux_dof_8)),_mm256_mul_pd(tmp_qloop_21,ux_dof_9)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4)),_mm256_mul_pd(tmp_qloop_9,ux_dof_6));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_5),_mm256_mul_pd(tmp_qloop_12,uy_dof_0)),_mm256_mul_pd(tmp_qloop_16,uy_dof_1)),_mm256_mul_pd(tmp_qloop_17,uy_dof_2)),_mm256_mul_pd(tmp_qloop_18,uy_dof_3)),_mm256_mul_pd(tmp_qloop_19,uy_dof_7)),_mm256_mul_pd(tmp_qloop_20,uy_dof_8)),_mm256_mul_pd(tmp_qloop_21,uy_dof_9)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4)),_mm256_mul_pd(tmp_qloop_9,uy_dof_6));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_5),_mm256_mul_pd(tmp_qloop_12,uz_dof_0)),_mm256_mul_pd(tmp_qloop_16,uz_dof_1)),_mm256_mul_pd(tmp_qloop_17,uz_dof_2)),_mm256_mul_pd(tmp_qloop_18,uz_dof_3)),_mm256_mul_pd(tmp_qloop_19,uz_dof_7)),_mm256_mul_pd(tmp_qloop_20,uz_dof_8)),_mm256_mul_pd(tmp_qloop_21,uz_dof_9)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4)),_mm256_mul_pd(tmp_qloop_9,uz_dof_6));
+                   const __m256d tmp_qloop_25 = _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(cp_dof_0,tmp_qloop_12),_mm256_mul_pd(cp_dof_1,tmp_qloop_16)),_mm256_mul_pd(cp_dof_2,tmp_qloop_17)),_mm256_mul_pd(cp_dof_3,tmp_qloop_18)),_mm256_mul_pd(cp_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_dof_5,tmp_qloop_10)),_mm256_mul_pd(cp_dof_6,tmp_qloop_9)),_mm256_mul_pd(cp_dof_7,tmp_qloop_19)),_mm256_mul_pd(cp_dof_8,tmp_qloop_20)),_mm256_mul_pd(cp_dof_9,tmp_qloop_21)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN));
+                   const __m256d tmp_qloop_26 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_8);
+                   const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_6);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_13);
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_13);
+                   const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_50 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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 q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))))));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_16,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_18,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_25,tmp_qloop_7),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_29,tmp_qloop_30)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_31,tmp_qloop_32))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_33,tmp_qloop_34))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_10,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_35,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40))));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_25,tmp_qloop_9),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46))));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))))));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))))));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_21,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))))));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_9);
+                }
+                const __m256d elMatDiag_0 = q_acc_0_0;
+                const __m256d elMatDiag_1 = q_acc_1_1;
+                const __m256d elMatDiag_2 = q_acc_2_2;
+                const __m256d elMatDiag_3 = q_acc_3_3;
+                const __m256d elMatDiag_4 = q_acc_4_4;
+                const __m256d elMatDiag_5 = q_acc_5_5;
+                const __m256d elMatDiag_6 = q_acc_6_6;
+                const __m256d elMatDiag_7 = q_acc_7_7;
+                const __m256d elMatDiag_8 = q_acc_8_8;
+                const __m256d elMatDiag_9 = q_acc_9_9;
+                _mm256_storeu_pd(&_data_invDiag_Vertex[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(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_6,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_7,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_8,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_9,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+             }
+             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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_1 = tmp_qloop_0*2.0;
+                   const real_t tmp_qloop_2 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_3 = tmp_qloop_2*2.0;
+                   const real_t tmp_qloop_4 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                   const real_t tmp_qloop_6 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_6*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_9 = tmp_qloop_8*_data_q_p_1[q];
+                   const real_t tmp_qloop_10 = tmp_qloop_8*_data_q_p_2[q];
+                   const real_t tmp_qloop_11 = tmp_qloop_10 + tmp_qloop_9;
+                   const real_t tmp_qloop_12 = tmp_qloop_1 + tmp_qloop_11 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                   const real_t tmp_qloop_13 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_14 = tmp_qloop_6 + tmp_qloop_8;
+                   const real_t tmp_qloop_15 = tmp_qloop_13 + tmp_qloop_14 - 3.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_1 - _data_q_p_0[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_3 - _data_q_p_1[q];
+                   const real_t tmp_qloop_18 = tmp_qloop_5 - _data_q_p_2[q];
+                   const real_t tmp_qloop_19 = -tmp_qloop_10 + tmp_qloop_13 + tmp_qloop_4*-4.0 - tmp_qloop_7;
+                   const real_t tmp_qloop_20 = tmp_qloop_2*-4.0 + tmp_qloop_6 - tmp_qloop_7 - tmp_qloop_9;
+                   const real_t tmp_qloop_21 = tmp_qloop_0*-4.0 - tmp_qloop_11 + tmp_qloop_8;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_5 + tmp_qloop_12*ux_dof_0 + tmp_qloop_16*ux_dof_1 + tmp_qloop_17*ux_dof_2 + tmp_qloop_18*ux_dof_3 + tmp_qloop_19*ux_dof_7 + tmp_qloop_20*ux_dof_8 + tmp_qloop_21*ux_dof_9 + tmp_qloop_7*ux_dof_4 + tmp_qloop_9*ux_dof_6;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_5 + tmp_qloop_12*uy_dof_0 + tmp_qloop_16*uy_dof_1 + tmp_qloop_17*uy_dof_2 + tmp_qloop_18*uy_dof_3 + tmp_qloop_19*uy_dof_7 + tmp_qloop_20*uy_dof_8 + tmp_qloop_21*uy_dof_9 + tmp_qloop_7*uy_dof_4 + tmp_qloop_9*uy_dof_6;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_5 + tmp_qloop_12*uz_dof_0 + tmp_qloop_16*uz_dof_1 + tmp_qloop_17*uz_dof_2 + tmp_qloop_18*uz_dof_3 + tmp_qloop_19*uz_dof_7 + tmp_qloop_20*uz_dof_8 + tmp_qloop_21*uz_dof_9 + tmp_qloop_7*uz_dof_4 + tmp_qloop_9*uz_dof_6;
+                   const real_t tmp_qloop_25 = abs_det_jac_affine_BLUE_DOWN*(cp_dof_0*tmp_qloop_12 + cp_dof_1*tmp_qloop_16 + cp_dof_2*tmp_qloop_17 + cp_dof_3*tmp_qloop_18 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_10 + cp_dof_6*tmp_qloop_9 + cp_dof_7*tmp_qloop_19 + cp_dof_8*tmp_qloop_20 + cp_dof_9*tmp_qloop_21)*_data_q_w[q];
+                   const real_t tmp_qloop_26 = tmp_qloop_8 - 1.0;
+                   const real_t tmp_qloop_27 = tmp_qloop_6 - 1.0;
+                   const real_t tmp_qloop_28 = tmp_qloop_13 - 1.0;
+                   const real_t tmp_qloop_29 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_6;
+                   const real_t tmp_qloop_30 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_13;
+                   const real_t tmp_qloop_31 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_6;
+                   const real_t tmp_qloop_32 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_13;
+                   const real_t tmp_qloop_33 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_6;
+                   const real_t tmp_qloop_34 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_13;
+                   const real_t tmp_qloop_35 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_8;
+                   const real_t tmp_qloop_36 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_13;
+                   const real_t tmp_qloop_37 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_8;
+                   const real_t tmp_qloop_38 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_13;
+                   const real_t tmp_qloop_39 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_8;
+                   const real_t tmp_qloop_40 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_13;
+                   const real_t tmp_qloop_41 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_8;
+                   const real_t tmp_qloop_42 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_6;
+                   const real_t tmp_qloop_43 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_8;
+                   const real_t tmp_qloop_44 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_6;
+                   const real_t tmp_qloop_45 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_8;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_6;
+                   const real_t tmp_qloop_47 = -tmp_qloop_14 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_48 = tmp_qloop_13 - 4.0;
+                   const real_t tmp_qloop_49 = -tmp_qloop_48 - tmp_qloop_8 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_50 = -tmp_qloop_48 - tmp_qloop_6 - 8.0*_data_q_p_0[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_12*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_15 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_15 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_15) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_15 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_15 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_15) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_15 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_15 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_15));
+                   const real_t q_tmp_1_1 = tmp_qloop_16*tmp_qloop_25*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_26);
+                   const real_t q_tmp_2_2 = tmp_qloop_17*tmp_qloop_25*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_27);
+                   const real_t q_tmp_3_3 = tmp_qloop_18*tmp_qloop_25*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_28);
+                   const real_t q_tmp_4_4 = tmp_qloop_25*tmp_qloop_7*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34));
+                   const real_t q_tmp_5_5 = tmp_qloop_10*tmp_qloop_25*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40));
+                   const real_t q_tmp_6_6 = tmp_qloop_25*tmp_qloop_9*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46));
+                   const real_t q_tmp_7_7 = tmp_qloop_19*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40));
+                   const real_t q_tmp_8_8 = tmp_qloop_20*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46));
+                   const real_t q_tmp_9_9 = tmp_qloop_21*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45));
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+                }
+                const real_t elMatDiag_0 = q_acc_0_0;
+                const real_t elMatDiag_1 = q_acc_1_1;
+                const real_t elMatDiag_2 = q_acc_2_2;
+                const real_t elMatDiag_3 = q_acc_3_3;
+                const real_t elMatDiag_4 = q_acc_4_4;
+                const real_t elMatDiag_5 = q_acc_5_5;
+                const real_t elMatDiag_6 = q_acc_6_6;
+                const real_t elMatDiag_7 = q_acc_7_7;
+                const real_t elMatDiag_8 = q_acc_8_8;
+                const real_t elMatDiag_9 = q_acc_9_9;
+                _data_invDiag_Vertex[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))] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_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 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_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 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_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 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP;
+       const real_t tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP);
+       const real_t jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP);
+       const real_t jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP);
+       const real_t jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP);
+       const real_t jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP);
+       {
+          /* CellType.GREEN_UP */
+          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 cp_dof_0 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_1 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_2 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_3 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_4 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_5 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_6 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_7 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_8 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_9 = _mm256_loadu_pd(& _data_cpEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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_1_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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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(_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_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_2 = _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_3 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_4 = _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_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(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]));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_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_8 = _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_9 = _mm256_mul_pd(tmp_qloop_8,_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_10 = _mm256_mul_pd(tmp_qloop_8,_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_11 = _mm256_add_pd(tmp_qloop_10,tmp_qloop_9);
+                   const __m256d tmp_qloop_12 = _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_1),tmp_qloop_11),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7);
+                   const __m256d tmp_qloop_13 = _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]));
+                   const __m256d tmp_qloop_14 = _mm256_add_pd(tmp_qloop_6,tmp_qloop_8);
+                   const __m256d tmp_qloop_15 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_13),tmp_qloop_14);
+                   const __m256d tmp_qloop_16 = _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_1);
+                   const __m256d tmp_qloop_17 = _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_3);
+                   const __m256d tmp_qloop_18 = _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_5);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_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))),tmp_qloop_13);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_6);
+                   const __m256d tmp_qloop_21 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_8);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_5),_mm256_mul_pd(tmp_qloop_12,ux_dof_0)),_mm256_mul_pd(tmp_qloop_16,ux_dof_1)),_mm256_mul_pd(tmp_qloop_17,ux_dof_2)),_mm256_mul_pd(tmp_qloop_18,ux_dof_3)),_mm256_mul_pd(tmp_qloop_19,ux_dof_7)),_mm256_mul_pd(tmp_qloop_20,ux_dof_8)),_mm256_mul_pd(tmp_qloop_21,ux_dof_9)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4)),_mm256_mul_pd(tmp_qloop_9,ux_dof_6));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_5),_mm256_mul_pd(tmp_qloop_12,uy_dof_0)),_mm256_mul_pd(tmp_qloop_16,uy_dof_1)),_mm256_mul_pd(tmp_qloop_17,uy_dof_2)),_mm256_mul_pd(tmp_qloop_18,uy_dof_3)),_mm256_mul_pd(tmp_qloop_19,uy_dof_7)),_mm256_mul_pd(tmp_qloop_20,uy_dof_8)),_mm256_mul_pd(tmp_qloop_21,uy_dof_9)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4)),_mm256_mul_pd(tmp_qloop_9,uy_dof_6));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_5),_mm256_mul_pd(tmp_qloop_12,uz_dof_0)),_mm256_mul_pd(tmp_qloop_16,uz_dof_1)),_mm256_mul_pd(tmp_qloop_17,uz_dof_2)),_mm256_mul_pd(tmp_qloop_18,uz_dof_3)),_mm256_mul_pd(tmp_qloop_19,uz_dof_7)),_mm256_mul_pd(tmp_qloop_20,uz_dof_8)),_mm256_mul_pd(tmp_qloop_21,uz_dof_9)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4)),_mm256_mul_pd(tmp_qloop_9,uz_dof_6));
+                   const __m256d tmp_qloop_25 = _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(cp_dof_0,tmp_qloop_12),_mm256_mul_pd(cp_dof_1,tmp_qloop_16)),_mm256_mul_pd(cp_dof_2,tmp_qloop_17)),_mm256_mul_pd(cp_dof_3,tmp_qloop_18)),_mm256_mul_pd(cp_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_dof_5,tmp_qloop_10)),_mm256_mul_pd(cp_dof_6,tmp_qloop_9)),_mm256_mul_pd(cp_dof_7,tmp_qloop_19)),_mm256_mul_pd(cp_dof_8,tmp_qloop_20)),_mm256_mul_pd(cp_dof_9,tmp_qloop_21)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP));
+                   const __m256d tmp_qloop_26 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_8);
+                   const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_6);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_13);
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP));
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP));
+                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP));
+                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP));
+                   const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP));
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP));
+                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP));
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_13);
+                   const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_50 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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 q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))))));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_16,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_18,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_25,tmp_qloop_7),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_29,tmp_qloop_30)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_31,tmp_qloop_32))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_33,tmp_qloop_34))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_10,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_35,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40))));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_25,tmp_qloop_9),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46))));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))))));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))))));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_21,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))))));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_9);
+                }
+                const __m256d elMatDiag_0 = q_acc_0_0;
+                const __m256d elMatDiag_1 = q_acc_1_1;
+                const __m256d elMatDiag_2 = q_acc_2_2;
+                const __m256d elMatDiag_3 = q_acc_3_3;
+                const __m256d elMatDiag_4 = q_acc_4_4;
+                const __m256d elMatDiag_5 = q_acc_5_5;
+                const __m256d elMatDiag_6 = q_acc_6_6;
+                const __m256d elMatDiag_7 = q_acc_7_7;
+                const __m256d elMatDiag_8 = q_acc_8_8;
+                const __m256d elMatDiag_9 = q_acc_9_9;
+                _mm256_storeu_pd(&_data_invDiag_Vertex[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(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_6,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_7,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_8,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_9,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+             }
+             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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_1 = tmp_qloop_0*2.0;
+                   const real_t tmp_qloop_2 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_3 = tmp_qloop_2*2.0;
+                   const real_t tmp_qloop_4 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                   const real_t tmp_qloop_6 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_6*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_9 = tmp_qloop_8*_data_q_p_1[q];
+                   const real_t tmp_qloop_10 = tmp_qloop_8*_data_q_p_2[q];
+                   const real_t tmp_qloop_11 = tmp_qloop_10 + tmp_qloop_9;
+                   const real_t tmp_qloop_12 = tmp_qloop_1 + tmp_qloop_11 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                   const real_t tmp_qloop_13 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_14 = tmp_qloop_6 + tmp_qloop_8;
+                   const real_t tmp_qloop_15 = tmp_qloop_13 + tmp_qloop_14 - 3.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_1 - _data_q_p_0[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_3 - _data_q_p_1[q];
+                   const real_t tmp_qloop_18 = tmp_qloop_5 - _data_q_p_2[q];
+                   const real_t tmp_qloop_19 = -tmp_qloop_10 + tmp_qloop_13 + tmp_qloop_4*-4.0 - tmp_qloop_7;
+                   const real_t tmp_qloop_20 = tmp_qloop_2*-4.0 + tmp_qloop_6 - tmp_qloop_7 - tmp_qloop_9;
+                   const real_t tmp_qloop_21 = tmp_qloop_0*-4.0 - tmp_qloop_11 + tmp_qloop_8;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_5 + tmp_qloop_12*ux_dof_0 + tmp_qloop_16*ux_dof_1 + tmp_qloop_17*ux_dof_2 + tmp_qloop_18*ux_dof_3 + tmp_qloop_19*ux_dof_7 + tmp_qloop_20*ux_dof_8 + tmp_qloop_21*ux_dof_9 + tmp_qloop_7*ux_dof_4 + tmp_qloop_9*ux_dof_6;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_5 + tmp_qloop_12*uy_dof_0 + tmp_qloop_16*uy_dof_1 + tmp_qloop_17*uy_dof_2 + tmp_qloop_18*uy_dof_3 + tmp_qloop_19*uy_dof_7 + tmp_qloop_20*uy_dof_8 + tmp_qloop_21*uy_dof_9 + tmp_qloop_7*uy_dof_4 + tmp_qloop_9*uy_dof_6;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_5 + tmp_qloop_12*uz_dof_0 + tmp_qloop_16*uz_dof_1 + tmp_qloop_17*uz_dof_2 + tmp_qloop_18*uz_dof_3 + tmp_qloop_19*uz_dof_7 + tmp_qloop_20*uz_dof_8 + tmp_qloop_21*uz_dof_9 + tmp_qloop_7*uz_dof_4 + tmp_qloop_9*uz_dof_6;
+                   const real_t tmp_qloop_25 = abs_det_jac_affine_GREEN_UP*(cp_dof_0*tmp_qloop_12 + cp_dof_1*tmp_qloop_16 + cp_dof_2*tmp_qloop_17 + cp_dof_3*tmp_qloop_18 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_10 + cp_dof_6*tmp_qloop_9 + cp_dof_7*tmp_qloop_19 + cp_dof_8*tmp_qloop_20 + cp_dof_9*tmp_qloop_21)*_data_q_w[q];
+                   const real_t tmp_qloop_26 = tmp_qloop_8 - 1.0;
+                   const real_t tmp_qloop_27 = tmp_qloop_6 - 1.0;
+                   const real_t tmp_qloop_28 = tmp_qloop_13 - 1.0;
+                   const real_t tmp_qloop_29 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_6;
+                   const real_t tmp_qloop_30 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_13;
+                   const real_t tmp_qloop_31 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_6;
+                   const real_t tmp_qloop_32 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_13;
+                   const real_t tmp_qloop_33 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_6;
+                   const real_t tmp_qloop_34 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_13;
+                   const real_t tmp_qloop_35 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_8;
+                   const real_t tmp_qloop_36 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_13;
+                   const real_t tmp_qloop_37 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_8;
+                   const real_t tmp_qloop_38 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_13;
+                   const real_t tmp_qloop_39 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_8;
+                   const real_t tmp_qloop_40 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_13;
+                   const real_t tmp_qloop_41 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_8;
+                   const real_t tmp_qloop_42 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_6;
+                   const real_t tmp_qloop_43 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_8;
+                   const real_t tmp_qloop_44 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_6;
+                   const real_t tmp_qloop_45 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_8;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_6;
+                   const real_t tmp_qloop_47 = -tmp_qloop_14 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_48 = tmp_qloop_13 - 4.0;
+                   const real_t tmp_qloop_49 = -tmp_qloop_48 - tmp_qloop_8 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_50 = -tmp_qloop_48 - tmp_qloop_6 - 8.0*_data_q_p_0[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_12*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_15 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_15 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_15) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_15 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_15 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_15) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_15 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_15 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_15));
+                   const real_t q_tmp_1_1 = tmp_qloop_16*tmp_qloop_25*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_GREEN_UP*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_GREEN_UP*tmp_qloop_24*tmp_qloop_26);
+                   const real_t q_tmp_2_2 = tmp_qloop_17*tmp_qloop_25*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_24*tmp_qloop_27);
+                   const real_t q_tmp_3_3 = tmp_qloop_18*tmp_qloop_25*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_24*tmp_qloop_28);
+                   const real_t q_tmp_4_4 = tmp_qloop_25*tmp_qloop_7*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34));
+                   const real_t q_tmp_5_5 = tmp_qloop_10*tmp_qloop_25*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40));
+                   const real_t q_tmp_6_6 = tmp_qloop_25*tmp_qloop_9*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46));
+                   const real_t q_tmp_7_7 = tmp_qloop_19*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40));
+                   const real_t q_tmp_8_8 = tmp_qloop_20*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46));
+                   const real_t q_tmp_9_9 = tmp_qloop_21*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45));
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+                }
+                const real_t elMatDiag_0 = q_acc_0_0;
+                const real_t elMatDiag_1 = q_acc_1_1;
+                const real_t elMatDiag_2 = q_acc_2_2;
+                const real_t elMatDiag_3 = q_acc_3_3;
+                const real_t elMatDiag_4 = q_acc_4_4;
+                const real_t elMatDiag_5 = q_acc_5_5;
+                const real_t elMatDiag_6 = q_acc_6_6;
+                const real_t elMatDiag_7 = q_acc_7_7;
+                const real_t elMatDiag_8 = q_acc_8_8;
+                const real_t elMatDiag_9 = q_acc_9_9;
+                _data_invDiag_Vertex[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] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_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 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN;
+       const real_t tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN);
+       const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN);
+       const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN);
+       const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN);
+       const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN);
+       {
+          /* CellType.GREEN_DOWN */
+          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 cp_dof_0 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_1 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_2 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_3 = _mm256_loadu_pd(& _data_cpVertex[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 cp_dof_4 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_5 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_6 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_7 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_8 = _mm256_loadu_pd(& _data_cpEdge[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 cp_dof_9 = _mm256_loadu_pd(& _data_cpEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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_1_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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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(_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_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_2 = _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_3 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_4 = _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_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(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]));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_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_8 = _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_9 = _mm256_mul_pd(tmp_qloop_8,_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_10 = _mm256_mul_pd(tmp_qloop_8,_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_11 = _mm256_add_pd(tmp_qloop_10,tmp_qloop_9);
+                   const __m256d tmp_qloop_12 = _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_1),tmp_qloop_11),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7);
+                   const __m256d tmp_qloop_13 = _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]));
+                   const __m256d tmp_qloop_14 = _mm256_add_pd(tmp_qloop_6,tmp_qloop_8);
+                   const __m256d tmp_qloop_15 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_13),tmp_qloop_14);
+                   const __m256d tmp_qloop_16 = _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_1);
+                   const __m256d tmp_qloop_17 = _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_3);
+                   const __m256d tmp_qloop_18 = _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_5);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_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))),tmp_qloop_13);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_6);
+                   const __m256d tmp_qloop_21 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_8);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_5),_mm256_mul_pd(tmp_qloop_12,ux_dof_0)),_mm256_mul_pd(tmp_qloop_16,ux_dof_1)),_mm256_mul_pd(tmp_qloop_17,ux_dof_2)),_mm256_mul_pd(tmp_qloop_18,ux_dof_3)),_mm256_mul_pd(tmp_qloop_19,ux_dof_7)),_mm256_mul_pd(tmp_qloop_20,ux_dof_8)),_mm256_mul_pd(tmp_qloop_21,ux_dof_9)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4)),_mm256_mul_pd(tmp_qloop_9,ux_dof_6));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_5),_mm256_mul_pd(tmp_qloop_12,uy_dof_0)),_mm256_mul_pd(tmp_qloop_16,uy_dof_1)),_mm256_mul_pd(tmp_qloop_17,uy_dof_2)),_mm256_mul_pd(tmp_qloop_18,uy_dof_3)),_mm256_mul_pd(tmp_qloop_19,uy_dof_7)),_mm256_mul_pd(tmp_qloop_20,uy_dof_8)),_mm256_mul_pd(tmp_qloop_21,uy_dof_9)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4)),_mm256_mul_pd(tmp_qloop_9,uy_dof_6));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_5),_mm256_mul_pd(tmp_qloop_12,uz_dof_0)),_mm256_mul_pd(tmp_qloop_16,uz_dof_1)),_mm256_mul_pd(tmp_qloop_17,uz_dof_2)),_mm256_mul_pd(tmp_qloop_18,uz_dof_3)),_mm256_mul_pd(tmp_qloop_19,uz_dof_7)),_mm256_mul_pd(tmp_qloop_20,uz_dof_8)),_mm256_mul_pd(tmp_qloop_21,uz_dof_9)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4)),_mm256_mul_pd(tmp_qloop_9,uz_dof_6));
+                   const __m256d tmp_qloop_25 = _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(cp_dof_0,tmp_qloop_12),_mm256_mul_pd(cp_dof_1,tmp_qloop_16)),_mm256_mul_pd(cp_dof_2,tmp_qloop_17)),_mm256_mul_pd(cp_dof_3,tmp_qloop_18)),_mm256_mul_pd(cp_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_dof_5,tmp_qloop_10)),_mm256_mul_pd(cp_dof_6,tmp_qloop_9)),_mm256_mul_pd(cp_dof_7,tmp_qloop_19)),_mm256_mul_pd(cp_dof_8,tmp_qloop_20)),_mm256_mul_pd(cp_dof_9,tmp_qloop_21)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN));
+                   const __m256d tmp_qloop_26 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_8);
+                   const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_6);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_13);
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_13);
+                   const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_50 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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 q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))))));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_16,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_18,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_25,tmp_qloop_7),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_29,tmp_qloop_30)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_31,tmp_qloop_32))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_33,tmp_qloop_34))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_10,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_35,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40))));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_25,tmp_qloop_9),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46))));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))))));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))))));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_21,tmp_qloop_25),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))))));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_9);
+                }
+                const __m256d elMatDiag_0 = q_acc_0_0;
+                const __m256d elMatDiag_1 = q_acc_1_1;
+                const __m256d elMatDiag_2 = q_acc_2_2;
+                const __m256d elMatDiag_3 = q_acc_3_3;
+                const __m256d elMatDiag_4 = q_acc_4_4;
+                const __m256d elMatDiag_5 = q_acc_5_5;
+                const __m256d elMatDiag_6 = q_acc_6_6;
+                const __m256d elMatDiag_7 = q_acc_7_7;
+                const __m256d elMatDiag_8 = q_acc_8_8;
+                const __m256d elMatDiag_9 = q_acc_9_9;
+                _mm256_storeu_pd(&_data_invDiag_Vertex[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(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_6,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_7,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_8,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_9,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+             }
+             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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_1 = tmp_qloop_0*2.0;
+                   const real_t tmp_qloop_2 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_3 = tmp_qloop_2*2.0;
+                   const real_t tmp_qloop_4 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                   const real_t tmp_qloop_6 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_6*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_9 = tmp_qloop_8*_data_q_p_1[q];
+                   const real_t tmp_qloop_10 = tmp_qloop_8*_data_q_p_2[q];
+                   const real_t tmp_qloop_11 = tmp_qloop_10 + tmp_qloop_9;
+                   const real_t tmp_qloop_12 = tmp_qloop_1 + tmp_qloop_11 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                   const real_t tmp_qloop_13 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_14 = tmp_qloop_6 + tmp_qloop_8;
+                   const real_t tmp_qloop_15 = tmp_qloop_13 + tmp_qloop_14 - 3.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_1 - _data_q_p_0[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_3 - _data_q_p_1[q];
+                   const real_t tmp_qloop_18 = tmp_qloop_5 - _data_q_p_2[q];
+                   const real_t tmp_qloop_19 = -tmp_qloop_10 + tmp_qloop_13 + tmp_qloop_4*-4.0 - tmp_qloop_7;
+                   const real_t tmp_qloop_20 = tmp_qloop_2*-4.0 + tmp_qloop_6 - tmp_qloop_7 - tmp_qloop_9;
+                   const real_t tmp_qloop_21 = tmp_qloop_0*-4.0 - tmp_qloop_11 + tmp_qloop_8;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_5 + tmp_qloop_12*ux_dof_0 + tmp_qloop_16*ux_dof_1 + tmp_qloop_17*ux_dof_2 + tmp_qloop_18*ux_dof_3 + tmp_qloop_19*ux_dof_7 + tmp_qloop_20*ux_dof_8 + tmp_qloop_21*ux_dof_9 + tmp_qloop_7*ux_dof_4 + tmp_qloop_9*ux_dof_6;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_5 + tmp_qloop_12*uy_dof_0 + tmp_qloop_16*uy_dof_1 + tmp_qloop_17*uy_dof_2 + tmp_qloop_18*uy_dof_3 + tmp_qloop_19*uy_dof_7 + tmp_qloop_20*uy_dof_8 + tmp_qloop_21*uy_dof_9 + tmp_qloop_7*uy_dof_4 + tmp_qloop_9*uy_dof_6;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_5 + tmp_qloop_12*uz_dof_0 + tmp_qloop_16*uz_dof_1 + tmp_qloop_17*uz_dof_2 + tmp_qloop_18*uz_dof_3 + tmp_qloop_19*uz_dof_7 + tmp_qloop_20*uz_dof_8 + tmp_qloop_21*uz_dof_9 + tmp_qloop_7*uz_dof_4 + tmp_qloop_9*uz_dof_6;
+                   const real_t tmp_qloop_25 = abs_det_jac_affine_GREEN_DOWN*(cp_dof_0*tmp_qloop_12 + cp_dof_1*tmp_qloop_16 + cp_dof_2*tmp_qloop_17 + cp_dof_3*tmp_qloop_18 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_10 + cp_dof_6*tmp_qloop_9 + cp_dof_7*tmp_qloop_19 + cp_dof_8*tmp_qloop_20 + cp_dof_9*tmp_qloop_21)*_data_q_w[q];
+                   const real_t tmp_qloop_26 = tmp_qloop_8 - 1.0;
+                   const real_t tmp_qloop_27 = tmp_qloop_6 - 1.0;
+                   const real_t tmp_qloop_28 = tmp_qloop_13 - 1.0;
+                   const real_t tmp_qloop_29 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_6;
+                   const real_t tmp_qloop_30 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_13;
+                   const real_t tmp_qloop_31 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_6;
+                   const real_t tmp_qloop_32 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_13;
+                   const real_t tmp_qloop_33 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_6;
+                   const real_t tmp_qloop_34 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_13;
+                   const real_t tmp_qloop_35 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_8;
+                   const real_t tmp_qloop_36 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_13;
+                   const real_t tmp_qloop_37 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_8;
+                   const real_t tmp_qloop_38 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_13;
+                   const real_t tmp_qloop_39 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_8;
+                   const real_t tmp_qloop_40 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_13;
+                   const real_t tmp_qloop_41 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_8;
+                   const real_t tmp_qloop_42 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_6;
+                   const real_t tmp_qloop_43 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_8;
+                   const real_t tmp_qloop_44 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_6;
+                   const real_t tmp_qloop_45 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_8;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_6;
+                   const real_t tmp_qloop_47 = -tmp_qloop_14 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_48 = tmp_qloop_13 - 4.0;
+                   const real_t tmp_qloop_49 = -tmp_qloop_48 - tmp_qloop_8 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_50 = -tmp_qloop_48 - tmp_qloop_6 - 8.0*_data_q_p_0[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_12*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_15 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_15 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_15) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_15 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_15 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_15) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_15 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_15 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_15));
+                   const real_t q_tmp_1_1 = tmp_qloop_16*tmp_qloop_25*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_26);
+                   const real_t q_tmp_2_2 = tmp_qloop_17*tmp_qloop_25*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_27);
+                   const real_t q_tmp_3_3 = tmp_qloop_18*tmp_qloop_25*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_28);
+                   const real_t q_tmp_4_4 = tmp_qloop_25*tmp_qloop_7*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34));
+                   const real_t q_tmp_5_5 = tmp_qloop_10*tmp_qloop_25*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40));
+                   const real_t q_tmp_6_6 = tmp_qloop_25*tmp_qloop_9*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46));
+                   const real_t q_tmp_7_7 = tmp_qloop_19*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40));
+                   const real_t q_tmp_8_8 = tmp_qloop_20*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46));
+                   const real_t q_tmp_9_9 = tmp_qloop_21*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45));
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+                }
+                const real_t elMatDiag_0 = q_acc_0_0;
+                const real_t elMatDiag_1 = q_acc_1_1;
+                const real_t elMatDiag_2 = q_acc_2_2;
+                const real_t elMatDiag_3 = q_acc_3_3;
+                const real_t elMatDiag_4 = q_acc_4_4;
+                const real_t elMatDiag_5 = q_acc_5_5;
+                const real_t elMatDiag_6 = q_acc_6_6;
+                const real_t elMatDiag_7 = q_acc_7_7;
+                const real_t elMatDiag_8 = q_acc_8_8;
+                const real_t elMatDiag_9 = q_acc_9_9;
+                _data_invDiag_Vertex[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))] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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))];
+             }
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/advection/noarch/P2ElementwiseAdvection_apply_P2ElementwiseAdvection_macro_3D.cpp b/operators/advection/noarch/P2ElementwiseAdvection_apply_P2ElementwiseAdvection_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..13965d2b7db0c1515ef7c08245191679288da6e4
--- /dev/null
+++ b/operators/advection/noarch/P2ElementwiseAdvection_apply_P2ElementwiseAdvection_macro_3D.cpp
@@ -0,0 +1,3246 @@
+/*
+* 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 Operator Generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ElementwiseAdvection.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ElementwiseAdvection::apply_P2ElementwiseAdvection_macro_3D( real_t * RESTRICT  _data_cpEdge, real_t * RESTRICT  _data_cpVertex, real_t * RESTRICT  _data_dstEdge, real_t * RESTRICT  _data_dstVertex, real_t * RESTRICT  _data_srcEdge, real_t * RESTRICT  _data_srcVertex, real_t * RESTRICT  _data_uxEdge, real_t * RESTRICT  _data_uxVertex, real_t * RESTRICT  _data_uyEdge, real_t * RESTRICT  _data_uyVertex, real_t * RESTRICT  _data_uzEdge, real_t * RESTRICT  _data_uzVertex, 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 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_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 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_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 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_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 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP;
+       const real_t tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP);
+       const real_t jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP);
+       const real_t jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP);
+       const real_t jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP);
+       const real_t jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP);
+       {
+          /* CellType.WHITE_UP */
+          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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_WHITE_UP*(cp_dof_0*tmp_qloop_21 + cp_dof_1*tmp_qloop_10 + cp_dof_2*tmp_qloop_13 + cp_dof_3*tmp_qloop_16 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_6 + cp_dof_6*tmp_qloop_5 + cp_dof_7*tmp_qloop_17 + cp_dof_8*tmp_qloop_18 + cp_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_21*tmp_qloop_26;
+                const real_t tmp_qloop_28 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_24*tmp_qloop_28;
+                const real_t tmp_qloop_30 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_31 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_22*tmp_qloop_30 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_23*tmp_qloop_30 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_24*tmp_qloop_30;
+                const real_t tmp_qloop_32 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_22*tmp_qloop_32 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_23*tmp_qloop_32 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_24*tmp_qloop_32;
+                const real_t tmp_qloop_34 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_35 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_36 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_37 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_38 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_39 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_40 = tmp_qloop_22*(tmp_qloop_34 + tmp_qloop_35) + tmp_qloop_23*(tmp_qloop_36 + tmp_qloop_37) + tmp_qloop_24*(tmp_qloop_38 + tmp_qloop_39);
+                const real_t tmp_qloop_41 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_43 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_47 = tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46);
+                const real_t tmp_qloop_48 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_49 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_50 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_51 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_52 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_53 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_54 = tmp_qloop_22*(tmp_qloop_48 + tmp_qloop_49) + tmp_qloop_23*(tmp_qloop_50 + tmp_qloop_51) + tmp_qloop_24*(tmp_qloop_52 + tmp_qloop_53);
+                const real_t tmp_qloop_55 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_56 = tmp_qloop_22*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_55 - tmp_qloop_35 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_55 - tmp_qloop_37 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_55 - tmp_qloop_39 - tmp_qloop_46);
+                const real_t tmp_qloop_57 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_58 = -tmp_qloop_1 - tmp_qloop_57 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_59 = tmp_qloop_22*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_58 - tmp_qloop_34 - tmp_qloop_49) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_58 - tmp_qloop_36 - tmp_qloop_51) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_53);
+                const real_t tmp_qloop_60 = -tmp_qloop_2 - tmp_qloop_57 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_61 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_60 - tmp_qloop_41 - tmp_qloop_48) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_60 - tmp_qloop_43 - tmp_qloop_50) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_60 - tmp_qloop_45 - tmp_qloop_52);
+                const real_t tmp_qloop_62 = tmp_qloop_10*tmp_qloop_26;
+                const real_t tmp_qloop_63 = tmp_qloop_13*tmp_qloop_26;
+                const real_t tmp_qloop_64 = tmp_qloop_16*tmp_qloop_26;
+                const real_t tmp_qloop_65 = tmp_qloop_26*tmp_qloop_7;
+                const real_t tmp_qloop_66 = tmp_qloop_26*tmp_qloop_6;
+                const real_t tmp_qloop_67 = tmp_qloop_26*tmp_qloop_5;
+                const real_t tmp_qloop_68 = tmp_qloop_17*tmp_qloop_26;
+                const real_t tmp_qloop_69 = tmp_qloop_18*tmp_qloop_26;
+                const real_t tmp_qloop_70 = tmp_qloop_20*tmp_qloop_26;
+                const real_t q_tmp_0_0 = tmp_qloop_25*tmp_qloop_27;
+                const real_t q_tmp_0_1 = tmp_qloop_27*tmp_qloop_29;
+                const real_t q_tmp_0_2 = tmp_qloop_27*tmp_qloop_31;
+                const real_t q_tmp_0_3 = tmp_qloop_27*tmp_qloop_33;
+                const real_t q_tmp_0_4 = tmp_qloop_27*tmp_qloop_40;
+                const real_t q_tmp_0_5 = tmp_qloop_27*tmp_qloop_47;
+                const real_t q_tmp_0_6 = tmp_qloop_27*tmp_qloop_54;
+                const real_t q_tmp_0_7 = tmp_qloop_27*tmp_qloop_56;
+                const real_t q_tmp_0_8 = tmp_qloop_27*tmp_qloop_59;
+                const real_t q_tmp_0_9 = tmp_qloop_27*tmp_qloop_61;
+                const real_t q_tmp_1_0 = tmp_qloop_25*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_qloop_29*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_qloop_31*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_qloop_33*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_qloop_40*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_qloop_47*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_qloop_56*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_qloop_61*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_qloop_25*tmp_qloop_63;
+                const real_t q_tmp_2_1 = tmp_qloop_29*tmp_qloop_63;
+                const real_t q_tmp_2_2 = tmp_qloop_31*tmp_qloop_63;
+                const real_t q_tmp_2_3 = tmp_qloop_33*tmp_qloop_63;
+                const real_t q_tmp_2_4 = tmp_qloop_40*tmp_qloop_63;
+                const real_t q_tmp_2_5 = tmp_qloop_47*tmp_qloop_63;
+                const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_63;
+                const real_t q_tmp_2_7 = tmp_qloop_56*tmp_qloop_63;
+                const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_63;
+                const real_t q_tmp_2_9 = tmp_qloop_61*tmp_qloop_63;
+                const real_t q_tmp_3_0 = tmp_qloop_25*tmp_qloop_64;
+                const real_t q_tmp_3_1 = tmp_qloop_29*tmp_qloop_64;
+                const real_t q_tmp_3_2 = tmp_qloop_31*tmp_qloop_64;
+                const real_t q_tmp_3_3 = tmp_qloop_33*tmp_qloop_64;
+                const real_t q_tmp_3_4 = tmp_qloop_40*tmp_qloop_64;
+                const real_t q_tmp_3_5 = tmp_qloop_47*tmp_qloop_64;
+                const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_64;
+                const real_t q_tmp_3_7 = tmp_qloop_56*tmp_qloop_64;
+                const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_64;
+                const real_t q_tmp_3_9 = tmp_qloop_61*tmp_qloop_64;
+                const real_t q_tmp_4_0 = tmp_qloop_25*tmp_qloop_65;
+                const real_t q_tmp_4_1 = tmp_qloop_29*tmp_qloop_65;
+                const real_t q_tmp_4_2 = tmp_qloop_31*tmp_qloop_65;
+                const real_t q_tmp_4_3 = tmp_qloop_33*tmp_qloop_65;
+                const real_t q_tmp_4_4 = tmp_qloop_40*tmp_qloop_65;
+                const real_t q_tmp_4_5 = tmp_qloop_47*tmp_qloop_65;
+                const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_65;
+                const real_t q_tmp_4_7 = tmp_qloop_56*tmp_qloop_65;
+                const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_65;
+                const real_t q_tmp_4_9 = tmp_qloop_61*tmp_qloop_65;
+                const real_t q_tmp_5_0 = tmp_qloop_25*tmp_qloop_66;
+                const real_t q_tmp_5_1 = tmp_qloop_29*tmp_qloop_66;
+                const real_t q_tmp_5_2 = tmp_qloop_31*tmp_qloop_66;
+                const real_t q_tmp_5_3 = tmp_qloop_33*tmp_qloop_66;
+                const real_t q_tmp_5_4 = tmp_qloop_40*tmp_qloop_66;
+                const real_t q_tmp_5_5 = tmp_qloop_47*tmp_qloop_66;
+                const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_66;
+                const real_t q_tmp_5_7 = tmp_qloop_56*tmp_qloop_66;
+                const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_66;
+                const real_t q_tmp_5_9 = tmp_qloop_61*tmp_qloop_66;
+                const real_t q_tmp_6_0 = tmp_qloop_25*tmp_qloop_67;
+                const real_t q_tmp_6_1 = tmp_qloop_29*tmp_qloop_67;
+                const real_t q_tmp_6_2 = tmp_qloop_31*tmp_qloop_67;
+                const real_t q_tmp_6_3 = tmp_qloop_33*tmp_qloop_67;
+                const real_t q_tmp_6_4 = tmp_qloop_40*tmp_qloop_67;
+                const real_t q_tmp_6_5 = tmp_qloop_47*tmp_qloop_67;
+                const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_67;
+                const real_t q_tmp_6_7 = tmp_qloop_56*tmp_qloop_67;
+                const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_67;
+                const real_t q_tmp_6_9 = tmp_qloop_61*tmp_qloop_67;
+                const real_t q_tmp_7_0 = tmp_qloop_25*tmp_qloop_68;
+                const real_t q_tmp_7_1 = tmp_qloop_29*tmp_qloop_68;
+                const real_t q_tmp_7_2 = tmp_qloop_31*tmp_qloop_68;
+                const real_t q_tmp_7_3 = tmp_qloop_33*tmp_qloop_68;
+                const real_t q_tmp_7_4 = tmp_qloop_40*tmp_qloop_68;
+                const real_t q_tmp_7_5 = tmp_qloop_47*tmp_qloop_68;
+                const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_68;
+                const real_t q_tmp_7_7 = tmp_qloop_56*tmp_qloop_68;
+                const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_68;
+                const real_t q_tmp_7_9 = tmp_qloop_61*tmp_qloop_68;
+                const real_t q_tmp_8_0 = tmp_qloop_25*tmp_qloop_69;
+                const real_t q_tmp_8_1 = tmp_qloop_29*tmp_qloop_69;
+                const real_t q_tmp_8_2 = tmp_qloop_31*tmp_qloop_69;
+                const real_t q_tmp_8_3 = tmp_qloop_33*tmp_qloop_69;
+                const real_t q_tmp_8_4 = tmp_qloop_40*tmp_qloop_69;
+                const real_t q_tmp_8_5 = tmp_qloop_47*tmp_qloop_69;
+                const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_69;
+                const real_t q_tmp_8_7 = tmp_qloop_56*tmp_qloop_69;
+                const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_69;
+                const real_t q_tmp_8_9 = tmp_qloop_61*tmp_qloop_69;
+                const real_t q_tmp_9_0 = tmp_qloop_25*tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_29*tmp_qloop_70;
+                const real_t q_tmp_9_2 = tmp_qloop_31*tmp_qloop_70;
+                const real_t q_tmp_9_3 = tmp_qloop_33*tmp_qloop_70;
+                const real_t q_tmp_9_4 = tmp_qloop_40*tmp_qloop_70;
+                const real_t q_tmp_9_5 = tmp_qloop_47*tmp_qloop_70;
+                const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_70;
+                const real_t q_tmp_9_7 = tmp_qloop_56*tmp_qloop_70;
+                const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_70;
+                const real_t q_tmp_9_9 = tmp_qloop_61*tmp_qloop_70;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+             const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+             const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+             const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+             const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+             const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+             _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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))] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_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 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_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 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_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 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN;
+       const real_t tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN);
+       const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN);
+       const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN);
+       const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN);
+       const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN);
+       {
+          /* CellType.WHITE_DOWN */
+          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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_WHITE_DOWN*(cp_dof_0*tmp_qloop_21 + cp_dof_1*tmp_qloop_10 + cp_dof_2*tmp_qloop_13 + cp_dof_3*tmp_qloop_16 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_6 + cp_dof_6*tmp_qloop_5 + cp_dof_7*tmp_qloop_17 + cp_dof_8*tmp_qloop_18 + cp_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_21*tmp_qloop_26;
+                const real_t tmp_qloop_28 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_28;
+                const real_t tmp_qloop_30 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_31 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_30 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_30 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_30;
+                const real_t tmp_qloop_32 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_32 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_32 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_32;
+                const real_t tmp_qloop_34 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_35 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_36 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_37 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_38 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_39 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_40 = tmp_qloop_22*(tmp_qloop_34 + tmp_qloop_35) + tmp_qloop_23*(tmp_qloop_36 + tmp_qloop_37) + tmp_qloop_24*(tmp_qloop_38 + tmp_qloop_39);
+                const real_t tmp_qloop_41 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_43 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_47 = tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46);
+                const real_t tmp_qloop_48 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_49 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_50 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_51 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_52 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_53 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_54 = tmp_qloop_22*(tmp_qloop_48 + tmp_qloop_49) + tmp_qloop_23*(tmp_qloop_50 + tmp_qloop_51) + tmp_qloop_24*(tmp_qloop_52 + tmp_qloop_53);
+                const real_t tmp_qloop_55 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_56 = tmp_qloop_22*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_55 - tmp_qloop_35 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_55 - tmp_qloop_37 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_55 - tmp_qloop_39 - tmp_qloop_46);
+                const real_t tmp_qloop_57 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_58 = -tmp_qloop_1 - tmp_qloop_57 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_59 = tmp_qloop_22*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_58 - tmp_qloop_34 - tmp_qloop_49) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_58 - tmp_qloop_36 - tmp_qloop_51) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_53);
+                const real_t tmp_qloop_60 = -tmp_qloop_2 - tmp_qloop_57 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_61 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_60 - tmp_qloop_41 - tmp_qloop_48) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_60 - tmp_qloop_43 - tmp_qloop_50) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_60 - tmp_qloop_45 - tmp_qloop_52);
+                const real_t tmp_qloop_62 = tmp_qloop_10*tmp_qloop_26;
+                const real_t tmp_qloop_63 = tmp_qloop_13*tmp_qloop_26;
+                const real_t tmp_qloop_64 = tmp_qloop_16*tmp_qloop_26;
+                const real_t tmp_qloop_65 = tmp_qloop_26*tmp_qloop_7;
+                const real_t tmp_qloop_66 = tmp_qloop_26*tmp_qloop_6;
+                const real_t tmp_qloop_67 = tmp_qloop_26*tmp_qloop_5;
+                const real_t tmp_qloop_68 = tmp_qloop_17*tmp_qloop_26;
+                const real_t tmp_qloop_69 = tmp_qloop_18*tmp_qloop_26;
+                const real_t tmp_qloop_70 = tmp_qloop_20*tmp_qloop_26;
+                const real_t q_tmp_0_0 = tmp_qloop_25*tmp_qloop_27;
+                const real_t q_tmp_0_1 = tmp_qloop_27*tmp_qloop_29;
+                const real_t q_tmp_0_2 = tmp_qloop_27*tmp_qloop_31;
+                const real_t q_tmp_0_3 = tmp_qloop_27*tmp_qloop_33;
+                const real_t q_tmp_0_4 = tmp_qloop_27*tmp_qloop_40;
+                const real_t q_tmp_0_5 = tmp_qloop_27*tmp_qloop_47;
+                const real_t q_tmp_0_6 = tmp_qloop_27*tmp_qloop_54;
+                const real_t q_tmp_0_7 = tmp_qloop_27*tmp_qloop_56;
+                const real_t q_tmp_0_8 = tmp_qloop_27*tmp_qloop_59;
+                const real_t q_tmp_0_9 = tmp_qloop_27*tmp_qloop_61;
+                const real_t q_tmp_1_0 = tmp_qloop_25*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_qloop_29*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_qloop_31*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_qloop_33*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_qloop_40*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_qloop_47*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_qloop_56*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_qloop_61*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_qloop_25*tmp_qloop_63;
+                const real_t q_tmp_2_1 = tmp_qloop_29*tmp_qloop_63;
+                const real_t q_tmp_2_2 = tmp_qloop_31*tmp_qloop_63;
+                const real_t q_tmp_2_3 = tmp_qloop_33*tmp_qloop_63;
+                const real_t q_tmp_2_4 = tmp_qloop_40*tmp_qloop_63;
+                const real_t q_tmp_2_5 = tmp_qloop_47*tmp_qloop_63;
+                const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_63;
+                const real_t q_tmp_2_7 = tmp_qloop_56*tmp_qloop_63;
+                const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_63;
+                const real_t q_tmp_2_9 = tmp_qloop_61*tmp_qloop_63;
+                const real_t q_tmp_3_0 = tmp_qloop_25*tmp_qloop_64;
+                const real_t q_tmp_3_1 = tmp_qloop_29*tmp_qloop_64;
+                const real_t q_tmp_3_2 = tmp_qloop_31*tmp_qloop_64;
+                const real_t q_tmp_3_3 = tmp_qloop_33*tmp_qloop_64;
+                const real_t q_tmp_3_4 = tmp_qloop_40*tmp_qloop_64;
+                const real_t q_tmp_3_5 = tmp_qloop_47*tmp_qloop_64;
+                const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_64;
+                const real_t q_tmp_3_7 = tmp_qloop_56*tmp_qloop_64;
+                const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_64;
+                const real_t q_tmp_3_9 = tmp_qloop_61*tmp_qloop_64;
+                const real_t q_tmp_4_0 = tmp_qloop_25*tmp_qloop_65;
+                const real_t q_tmp_4_1 = tmp_qloop_29*tmp_qloop_65;
+                const real_t q_tmp_4_2 = tmp_qloop_31*tmp_qloop_65;
+                const real_t q_tmp_4_3 = tmp_qloop_33*tmp_qloop_65;
+                const real_t q_tmp_4_4 = tmp_qloop_40*tmp_qloop_65;
+                const real_t q_tmp_4_5 = tmp_qloop_47*tmp_qloop_65;
+                const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_65;
+                const real_t q_tmp_4_7 = tmp_qloop_56*tmp_qloop_65;
+                const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_65;
+                const real_t q_tmp_4_9 = tmp_qloop_61*tmp_qloop_65;
+                const real_t q_tmp_5_0 = tmp_qloop_25*tmp_qloop_66;
+                const real_t q_tmp_5_1 = tmp_qloop_29*tmp_qloop_66;
+                const real_t q_tmp_5_2 = tmp_qloop_31*tmp_qloop_66;
+                const real_t q_tmp_5_3 = tmp_qloop_33*tmp_qloop_66;
+                const real_t q_tmp_5_4 = tmp_qloop_40*tmp_qloop_66;
+                const real_t q_tmp_5_5 = tmp_qloop_47*tmp_qloop_66;
+                const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_66;
+                const real_t q_tmp_5_7 = tmp_qloop_56*tmp_qloop_66;
+                const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_66;
+                const real_t q_tmp_5_9 = tmp_qloop_61*tmp_qloop_66;
+                const real_t q_tmp_6_0 = tmp_qloop_25*tmp_qloop_67;
+                const real_t q_tmp_6_1 = tmp_qloop_29*tmp_qloop_67;
+                const real_t q_tmp_6_2 = tmp_qloop_31*tmp_qloop_67;
+                const real_t q_tmp_6_3 = tmp_qloop_33*tmp_qloop_67;
+                const real_t q_tmp_6_4 = tmp_qloop_40*tmp_qloop_67;
+                const real_t q_tmp_6_5 = tmp_qloop_47*tmp_qloop_67;
+                const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_67;
+                const real_t q_tmp_6_7 = tmp_qloop_56*tmp_qloop_67;
+                const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_67;
+                const real_t q_tmp_6_9 = tmp_qloop_61*tmp_qloop_67;
+                const real_t q_tmp_7_0 = tmp_qloop_25*tmp_qloop_68;
+                const real_t q_tmp_7_1 = tmp_qloop_29*tmp_qloop_68;
+                const real_t q_tmp_7_2 = tmp_qloop_31*tmp_qloop_68;
+                const real_t q_tmp_7_3 = tmp_qloop_33*tmp_qloop_68;
+                const real_t q_tmp_7_4 = tmp_qloop_40*tmp_qloop_68;
+                const real_t q_tmp_7_5 = tmp_qloop_47*tmp_qloop_68;
+                const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_68;
+                const real_t q_tmp_7_7 = tmp_qloop_56*tmp_qloop_68;
+                const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_68;
+                const real_t q_tmp_7_9 = tmp_qloop_61*tmp_qloop_68;
+                const real_t q_tmp_8_0 = tmp_qloop_25*tmp_qloop_69;
+                const real_t q_tmp_8_1 = tmp_qloop_29*tmp_qloop_69;
+                const real_t q_tmp_8_2 = tmp_qloop_31*tmp_qloop_69;
+                const real_t q_tmp_8_3 = tmp_qloop_33*tmp_qloop_69;
+                const real_t q_tmp_8_4 = tmp_qloop_40*tmp_qloop_69;
+                const real_t q_tmp_8_5 = tmp_qloop_47*tmp_qloop_69;
+                const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_69;
+                const real_t q_tmp_8_7 = tmp_qloop_56*tmp_qloop_69;
+                const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_69;
+                const real_t q_tmp_8_9 = tmp_qloop_61*tmp_qloop_69;
+                const real_t q_tmp_9_0 = tmp_qloop_25*tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_29*tmp_qloop_70;
+                const real_t q_tmp_9_2 = tmp_qloop_31*tmp_qloop_70;
+                const real_t q_tmp_9_3 = tmp_qloop_33*tmp_qloop_70;
+                const real_t q_tmp_9_4 = tmp_qloop_40*tmp_qloop_70;
+                const real_t q_tmp_9_5 = tmp_qloop_47*tmp_qloop_70;
+                const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_70;
+                const real_t q_tmp_9_7 = tmp_qloop_56*tmp_qloop_70;
+                const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_70;
+                const real_t q_tmp_9_9 = tmp_qloop_61*tmp_qloop_70;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+             const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+             const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+             const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+             const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+             const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+             _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_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 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_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 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_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 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP;
+       const real_t tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP);
+       const real_t jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP);
+       const real_t jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP);
+       const real_t jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP);
+       const real_t jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP);
+       {
+          /* CellType.BLUE_UP */
+          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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_BLUE_UP*(cp_dof_0*tmp_qloop_21 + cp_dof_1*tmp_qloop_10 + cp_dof_2*tmp_qloop_13 + cp_dof_3*tmp_qloop_16 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_6 + cp_dof_6*tmp_qloop_5 + cp_dof_7*tmp_qloop_17 + cp_dof_8*tmp_qloop_18 + cp_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_21*tmp_qloop_26;
+                const real_t tmp_qloop_28 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_0_1_BLUE_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_0_2_BLUE_UP*tmp_qloop_24*tmp_qloop_28;
+                const real_t tmp_qloop_30 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_31 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_22*tmp_qloop_30 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_23*tmp_qloop_30 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_24*tmp_qloop_30;
+                const real_t tmp_qloop_32 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_22*tmp_qloop_32 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_23*tmp_qloop_32 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_24*tmp_qloop_32;
+                const real_t tmp_qloop_34 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_35 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_36 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_37 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_38 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_39 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_40 = tmp_qloop_22*(tmp_qloop_34 + tmp_qloop_35) + tmp_qloop_23*(tmp_qloop_36 + tmp_qloop_37) + tmp_qloop_24*(tmp_qloop_38 + tmp_qloop_39);
+                const real_t tmp_qloop_41 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_43 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_47 = tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46);
+                const real_t tmp_qloop_48 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_49 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_50 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_51 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_52 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_53 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_54 = tmp_qloop_22*(tmp_qloop_48 + tmp_qloop_49) + tmp_qloop_23*(tmp_qloop_50 + tmp_qloop_51) + tmp_qloop_24*(tmp_qloop_52 + tmp_qloop_53);
+                const real_t tmp_qloop_55 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_56 = tmp_qloop_22*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_55 - tmp_qloop_35 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_55 - tmp_qloop_37 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_55 - tmp_qloop_39 - tmp_qloop_46);
+                const real_t tmp_qloop_57 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_58 = -tmp_qloop_1 - tmp_qloop_57 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_59 = tmp_qloop_22*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_58 - tmp_qloop_34 - tmp_qloop_49) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_58 - tmp_qloop_36 - tmp_qloop_51) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_53);
+                const real_t tmp_qloop_60 = -tmp_qloop_2 - tmp_qloop_57 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_61 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_60 - tmp_qloop_41 - tmp_qloop_48) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_60 - tmp_qloop_43 - tmp_qloop_50) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_60 - tmp_qloop_45 - tmp_qloop_52);
+                const real_t tmp_qloop_62 = tmp_qloop_10*tmp_qloop_26;
+                const real_t tmp_qloop_63 = tmp_qloop_13*tmp_qloop_26;
+                const real_t tmp_qloop_64 = tmp_qloop_16*tmp_qloop_26;
+                const real_t tmp_qloop_65 = tmp_qloop_26*tmp_qloop_7;
+                const real_t tmp_qloop_66 = tmp_qloop_26*tmp_qloop_6;
+                const real_t tmp_qloop_67 = tmp_qloop_26*tmp_qloop_5;
+                const real_t tmp_qloop_68 = tmp_qloop_17*tmp_qloop_26;
+                const real_t tmp_qloop_69 = tmp_qloop_18*tmp_qloop_26;
+                const real_t tmp_qloop_70 = tmp_qloop_20*tmp_qloop_26;
+                const real_t q_tmp_0_0 = tmp_qloop_25*tmp_qloop_27;
+                const real_t q_tmp_0_1 = tmp_qloop_27*tmp_qloop_29;
+                const real_t q_tmp_0_2 = tmp_qloop_27*tmp_qloop_31;
+                const real_t q_tmp_0_3 = tmp_qloop_27*tmp_qloop_33;
+                const real_t q_tmp_0_4 = tmp_qloop_27*tmp_qloop_40;
+                const real_t q_tmp_0_5 = tmp_qloop_27*tmp_qloop_47;
+                const real_t q_tmp_0_6 = tmp_qloop_27*tmp_qloop_54;
+                const real_t q_tmp_0_7 = tmp_qloop_27*tmp_qloop_56;
+                const real_t q_tmp_0_8 = tmp_qloop_27*tmp_qloop_59;
+                const real_t q_tmp_0_9 = tmp_qloop_27*tmp_qloop_61;
+                const real_t q_tmp_1_0 = tmp_qloop_25*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_qloop_29*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_qloop_31*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_qloop_33*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_qloop_40*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_qloop_47*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_qloop_56*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_qloop_61*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_qloop_25*tmp_qloop_63;
+                const real_t q_tmp_2_1 = tmp_qloop_29*tmp_qloop_63;
+                const real_t q_tmp_2_2 = tmp_qloop_31*tmp_qloop_63;
+                const real_t q_tmp_2_3 = tmp_qloop_33*tmp_qloop_63;
+                const real_t q_tmp_2_4 = tmp_qloop_40*tmp_qloop_63;
+                const real_t q_tmp_2_5 = tmp_qloop_47*tmp_qloop_63;
+                const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_63;
+                const real_t q_tmp_2_7 = tmp_qloop_56*tmp_qloop_63;
+                const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_63;
+                const real_t q_tmp_2_9 = tmp_qloop_61*tmp_qloop_63;
+                const real_t q_tmp_3_0 = tmp_qloop_25*tmp_qloop_64;
+                const real_t q_tmp_3_1 = tmp_qloop_29*tmp_qloop_64;
+                const real_t q_tmp_3_2 = tmp_qloop_31*tmp_qloop_64;
+                const real_t q_tmp_3_3 = tmp_qloop_33*tmp_qloop_64;
+                const real_t q_tmp_3_4 = tmp_qloop_40*tmp_qloop_64;
+                const real_t q_tmp_3_5 = tmp_qloop_47*tmp_qloop_64;
+                const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_64;
+                const real_t q_tmp_3_7 = tmp_qloop_56*tmp_qloop_64;
+                const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_64;
+                const real_t q_tmp_3_9 = tmp_qloop_61*tmp_qloop_64;
+                const real_t q_tmp_4_0 = tmp_qloop_25*tmp_qloop_65;
+                const real_t q_tmp_4_1 = tmp_qloop_29*tmp_qloop_65;
+                const real_t q_tmp_4_2 = tmp_qloop_31*tmp_qloop_65;
+                const real_t q_tmp_4_3 = tmp_qloop_33*tmp_qloop_65;
+                const real_t q_tmp_4_4 = tmp_qloop_40*tmp_qloop_65;
+                const real_t q_tmp_4_5 = tmp_qloop_47*tmp_qloop_65;
+                const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_65;
+                const real_t q_tmp_4_7 = tmp_qloop_56*tmp_qloop_65;
+                const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_65;
+                const real_t q_tmp_4_9 = tmp_qloop_61*tmp_qloop_65;
+                const real_t q_tmp_5_0 = tmp_qloop_25*tmp_qloop_66;
+                const real_t q_tmp_5_1 = tmp_qloop_29*tmp_qloop_66;
+                const real_t q_tmp_5_2 = tmp_qloop_31*tmp_qloop_66;
+                const real_t q_tmp_5_3 = tmp_qloop_33*tmp_qloop_66;
+                const real_t q_tmp_5_4 = tmp_qloop_40*tmp_qloop_66;
+                const real_t q_tmp_5_5 = tmp_qloop_47*tmp_qloop_66;
+                const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_66;
+                const real_t q_tmp_5_7 = tmp_qloop_56*tmp_qloop_66;
+                const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_66;
+                const real_t q_tmp_5_9 = tmp_qloop_61*tmp_qloop_66;
+                const real_t q_tmp_6_0 = tmp_qloop_25*tmp_qloop_67;
+                const real_t q_tmp_6_1 = tmp_qloop_29*tmp_qloop_67;
+                const real_t q_tmp_6_2 = tmp_qloop_31*tmp_qloop_67;
+                const real_t q_tmp_6_3 = tmp_qloop_33*tmp_qloop_67;
+                const real_t q_tmp_6_4 = tmp_qloop_40*tmp_qloop_67;
+                const real_t q_tmp_6_5 = tmp_qloop_47*tmp_qloop_67;
+                const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_67;
+                const real_t q_tmp_6_7 = tmp_qloop_56*tmp_qloop_67;
+                const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_67;
+                const real_t q_tmp_6_9 = tmp_qloop_61*tmp_qloop_67;
+                const real_t q_tmp_7_0 = tmp_qloop_25*tmp_qloop_68;
+                const real_t q_tmp_7_1 = tmp_qloop_29*tmp_qloop_68;
+                const real_t q_tmp_7_2 = tmp_qloop_31*tmp_qloop_68;
+                const real_t q_tmp_7_3 = tmp_qloop_33*tmp_qloop_68;
+                const real_t q_tmp_7_4 = tmp_qloop_40*tmp_qloop_68;
+                const real_t q_tmp_7_5 = tmp_qloop_47*tmp_qloop_68;
+                const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_68;
+                const real_t q_tmp_7_7 = tmp_qloop_56*tmp_qloop_68;
+                const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_68;
+                const real_t q_tmp_7_9 = tmp_qloop_61*tmp_qloop_68;
+                const real_t q_tmp_8_0 = tmp_qloop_25*tmp_qloop_69;
+                const real_t q_tmp_8_1 = tmp_qloop_29*tmp_qloop_69;
+                const real_t q_tmp_8_2 = tmp_qloop_31*tmp_qloop_69;
+                const real_t q_tmp_8_3 = tmp_qloop_33*tmp_qloop_69;
+                const real_t q_tmp_8_4 = tmp_qloop_40*tmp_qloop_69;
+                const real_t q_tmp_8_5 = tmp_qloop_47*tmp_qloop_69;
+                const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_69;
+                const real_t q_tmp_8_7 = tmp_qloop_56*tmp_qloop_69;
+                const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_69;
+                const real_t q_tmp_8_9 = tmp_qloop_61*tmp_qloop_69;
+                const real_t q_tmp_9_0 = tmp_qloop_25*tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_29*tmp_qloop_70;
+                const real_t q_tmp_9_2 = tmp_qloop_31*tmp_qloop_70;
+                const real_t q_tmp_9_3 = tmp_qloop_33*tmp_qloop_70;
+                const real_t q_tmp_9_4 = tmp_qloop_40*tmp_qloop_70;
+                const real_t q_tmp_9_5 = tmp_qloop_47*tmp_qloop_70;
+                const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_70;
+                const real_t q_tmp_9_7 = tmp_qloop_56*tmp_qloop_70;
+                const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_70;
+                const real_t q_tmp_9_9 = tmp_qloop_61*tmp_qloop_70;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+             const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+             const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+             const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+             const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+             const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+             _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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] = elMatVec_7 + _data_dstEdge[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_dstEdge[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] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_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 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN;
+       const real_t tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN);
+       const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN);
+       const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN);
+       const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN);
+       const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN);
+       {
+          /* CellType.BLUE_DOWN */
+          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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_BLUE_DOWN*(cp_dof_0*tmp_qloop_21 + cp_dof_1*tmp_qloop_10 + cp_dof_2*tmp_qloop_13 + cp_dof_3*tmp_qloop_16 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_6 + cp_dof_6*tmp_qloop_5 + cp_dof_7*tmp_qloop_17 + cp_dof_8*tmp_qloop_18 + cp_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_21*tmp_qloop_26;
+                const real_t tmp_qloop_28 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_28;
+                const real_t tmp_qloop_30 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_31 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_30 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_30 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_30;
+                const real_t tmp_qloop_32 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_32 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_32 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_32;
+                const real_t tmp_qloop_34 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_35 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_36 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_37 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_38 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_39 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_40 = tmp_qloop_22*(tmp_qloop_34 + tmp_qloop_35) + tmp_qloop_23*(tmp_qloop_36 + tmp_qloop_37) + tmp_qloop_24*(tmp_qloop_38 + tmp_qloop_39);
+                const real_t tmp_qloop_41 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_43 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_47 = tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46);
+                const real_t tmp_qloop_48 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_49 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_50 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_51 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_52 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_53 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_54 = tmp_qloop_22*(tmp_qloop_48 + tmp_qloop_49) + tmp_qloop_23*(tmp_qloop_50 + tmp_qloop_51) + tmp_qloop_24*(tmp_qloop_52 + tmp_qloop_53);
+                const real_t tmp_qloop_55 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_56 = tmp_qloop_22*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_55 - tmp_qloop_35 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_55 - tmp_qloop_37 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_55 - tmp_qloop_39 - tmp_qloop_46);
+                const real_t tmp_qloop_57 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_58 = -tmp_qloop_1 - tmp_qloop_57 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_59 = tmp_qloop_22*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_58 - tmp_qloop_34 - tmp_qloop_49) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_58 - tmp_qloop_36 - tmp_qloop_51) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_53);
+                const real_t tmp_qloop_60 = -tmp_qloop_2 - tmp_qloop_57 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_61 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_60 - tmp_qloop_41 - tmp_qloop_48) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_60 - tmp_qloop_43 - tmp_qloop_50) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_60 - tmp_qloop_45 - tmp_qloop_52);
+                const real_t tmp_qloop_62 = tmp_qloop_10*tmp_qloop_26;
+                const real_t tmp_qloop_63 = tmp_qloop_13*tmp_qloop_26;
+                const real_t tmp_qloop_64 = tmp_qloop_16*tmp_qloop_26;
+                const real_t tmp_qloop_65 = tmp_qloop_26*tmp_qloop_7;
+                const real_t tmp_qloop_66 = tmp_qloop_26*tmp_qloop_6;
+                const real_t tmp_qloop_67 = tmp_qloop_26*tmp_qloop_5;
+                const real_t tmp_qloop_68 = tmp_qloop_17*tmp_qloop_26;
+                const real_t tmp_qloop_69 = tmp_qloop_18*tmp_qloop_26;
+                const real_t tmp_qloop_70 = tmp_qloop_20*tmp_qloop_26;
+                const real_t q_tmp_0_0 = tmp_qloop_25*tmp_qloop_27;
+                const real_t q_tmp_0_1 = tmp_qloop_27*tmp_qloop_29;
+                const real_t q_tmp_0_2 = tmp_qloop_27*tmp_qloop_31;
+                const real_t q_tmp_0_3 = tmp_qloop_27*tmp_qloop_33;
+                const real_t q_tmp_0_4 = tmp_qloop_27*tmp_qloop_40;
+                const real_t q_tmp_0_5 = tmp_qloop_27*tmp_qloop_47;
+                const real_t q_tmp_0_6 = tmp_qloop_27*tmp_qloop_54;
+                const real_t q_tmp_0_7 = tmp_qloop_27*tmp_qloop_56;
+                const real_t q_tmp_0_8 = tmp_qloop_27*tmp_qloop_59;
+                const real_t q_tmp_0_9 = tmp_qloop_27*tmp_qloop_61;
+                const real_t q_tmp_1_0 = tmp_qloop_25*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_qloop_29*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_qloop_31*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_qloop_33*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_qloop_40*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_qloop_47*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_qloop_56*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_qloop_61*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_qloop_25*tmp_qloop_63;
+                const real_t q_tmp_2_1 = tmp_qloop_29*tmp_qloop_63;
+                const real_t q_tmp_2_2 = tmp_qloop_31*tmp_qloop_63;
+                const real_t q_tmp_2_3 = tmp_qloop_33*tmp_qloop_63;
+                const real_t q_tmp_2_4 = tmp_qloop_40*tmp_qloop_63;
+                const real_t q_tmp_2_5 = tmp_qloop_47*tmp_qloop_63;
+                const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_63;
+                const real_t q_tmp_2_7 = tmp_qloop_56*tmp_qloop_63;
+                const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_63;
+                const real_t q_tmp_2_9 = tmp_qloop_61*tmp_qloop_63;
+                const real_t q_tmp_3_0 = tmp_qloop_25*tmp_qloop_64;
+                const real_t q_tmp_3_1 = tmp_qloop_29*tmp_qloop_64;
+                const real_t q_tmp_3_2 = tmp_qloop_31*tmp_qloop_64;
+                const real_t q_tmp_3_3 = tmp_qloop_33*tmp_qloop_64;
+                const real_t q_tmp_3_4 = tmp_qloop_40*tmp_qloop_64;
+                const real_t q_tmp_3_5 = tmp_qloop_47*tmp_qloop_64;
+                const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_64;
+                const real_t q_tmp_3_7 = tmp_qloop_56*tmp_qloop_64;
+                const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_64;
+                const real_t q_tmp_3_9 = tmp_qloop_61*tmp_qloop_64;
+                const real_t q_tmp_4_0 = tmp_qloop_25*tmp_qloop_65;
+                const real_t q_tmp_4_1 = tmp_qloop_29*tmp_qloop_65;
+                const real_t q_tmp_4_2 = tmp_qloop_31*tmp_qloop_65;
+                const real_t q_tmp_4_3 = tmp_qloop_33*tmp_qloop_65;
+                const real_t q_tmp_4_4 = tmp_qloop_40*tmp_qloop_65;
+                const real_t q_tmp_4_5 = tmp_qloop_47*tmp_qloop_65;
+                const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_65;
+                const real_t q_tmp_4_7 = tmp_qloop_56*tmp_qloop_65;
+                const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_65;
+                const real_t q_tmp_4_9 = tmp_qloop_61*tmp_qloop_65;
+                const real_t q_tmp_5_0 = tmp_qloop_25*tmp_qloop_66;
+                const real_t q_tmp_5_1 = tmp_qloop_29*tmp_qloop_66;
+                const real_t q_tmp_5_2 = tmp_qloop_31*tmp_qloop_66;
+                const real_t q_tmp_5_3 = tmp_qloop_33*tmp_qloop_66;
+                const real_t q_tmp_5_4 = tmp_qloop_40*tmp_qloop_66;
+                const real_t q_tmp_5_5 = tmp_qloop_47*tmp_qloop_66;
+                const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_66;
+                const real_t q_tmp_5_7 = tmp_qloop_56*tmp_qloop_66;
+                const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_66;
+                const real_t q_tmp_5_9 = tmp_qloop_61*tmp_qloop_66;
+                const real_t q_tmp_6_0 = tmp_qloop_25*tmp_qloop_67;
+                const real_t q_tmp_6_1 = tmp_qloop_29*tmp_qloop_67;
+                const real_t q_tmp_6_2 = tmp_qloop_31*tmp_qloop_67;
+                const real_t q_tmp_6_3 = tmp_qloop_33*tmp_qloop_67;
+                const real_t q_tmp_6_4 = tmp_qloop_40*tmp_qloop_67;
+                const real_t q_tmp_6_5 = tmp_qloop_47*tmp_qloop_67;
+                const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_67;
+                const real_t q_tmp_6_7 = tmp_qloop_56*tmp_qloop_67;
+                const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_67;
+                const real_t q_tmp_6_9 = tmp_qloop_61*tmp_qloop_67;
+                const real_t q_tmp_7_0 = tmp_qloop_25*tmp_qloop_68;
+                const real_t q_tmp_7_1 = tmp_qloop_29*tmp_qloop_68;
+                const real_t q_tmp_7_2 = tmp_qloop_31*tmp_qloop_68;
+                const real_t q_tmp_7_3 = tmp_qloop_33*tmp_qloop_68;
+                const real_t q_tmp_7_4 = tmp_qloop_40*tmp_qloop_68;
+                const real_t q_tmp_7_5 = tmp_qloop_47*tmp_qloop_68;
+                const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_68;
+                const real_t q_tmp_7_7 = tmp_qloop_56*tmp_qloop_68;
+                const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_68;
+                const real_t q_tmp_7_9 = tmp_qloop_61*tmp_qloop_68;
+                const real_t q_tmp_8_0 = tmp_qloop_25*tmp_qloop_69;
+                const real_t q_tmp_8_1 = tmp_qloop_29*tmp_qloop_69;
+                const real_t q_tmp_8_2 = tmp_qloop_31*tmp_qloop_69;
+                const real_t q_tmp_8_3 = tmp_qloop_33*tmp_qloop_69;
+                const real_t q_tmp_8_4 = tmp_qloop_40*tmp_qloop_69;
+                const real_t q_tmp_8_5 = tmp_qloop_47*tmp_qloop_69;
+                const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_69;
+                const real_t q_tmp_8_7 = tmp_qloop_56*tmp_qloop_69;
+                const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_69;
+                const real_t q_tmp_8_9 = tmp_qloop_61*tmp_qloop_69;
+                const real_t q_tmp_9_0 = tmp_qloop_25*tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_29*tmp_qloop_70;
+                const real_t q_tmp_9_2 = tmp_qloop_31*tmp_qloop_70;
+                const real_t q_tmp_9_3 = tmp_qloop_33*tmp_qloop_70;
+                const real_t q_tmp_9_4 = tmp_qloop_40*tmp_qloop_70;
+                const real_t q_tmp_9_5 = tmp_qloop_47*tmp_qloop_70;
+                const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_70;
+                const real_t q_tmp_9_7 = tmp_qloop_56*tmp_qloop_70;
+                const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_70;
+                const real_t q_tmp_9_9 = tmp_qloop_61*tmp_qloop_70;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+             const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+             const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+             const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+             const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+             const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+             _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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))] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_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 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_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 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_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 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP;
+       const real_t tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP);
+       const real_t jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP);
+       const real_t jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP);
+       const real_t jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP);
+       const real_t jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP);
+       {
+          /* CellType.GREEN_UP */
+          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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_GREEN_UP*(cp_dof_0*tmp_qloop_21 + cp_dof_1*tmp_qloop_10 + cp_dof_2*tmp_qloop_13 + cp_dof_3*tmp_qloop_16 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_6 + cp_dof_6*tmp_qloop_5 + cp_dof_7*tmp_qloop_17 + cp_dof_8*tmp_qloop_18 + cp_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_21*tmp_qloop_26;
+                const real_t tmp_qloop_28 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_0_1_GREEN_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_0_2_GREEN_UP*tmp_qloop_24*tmp_qloop_28;
+                const real_t tmp_qloop_30 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_31 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_22*tmp_qloop_30 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_23*tmp_qloop_30 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_24*tmp_qloop_30;
+                const real_t tmp_qloop_32 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_22*tmp_qloop_32 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_23*tmp_qloop_32 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_24*tmp_qloop_32;
+                const real_t tmp_qloop_34 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_35 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_36 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_37 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_38 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_39 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_40 = tmp_qloop_22*(tmp_qloop_34 + tmp_qloop_35) + tmp_qloop_23*(tmp_qloop_36 + tmp_qloop_37) + tmp_qloop_24*(tmp_qloop_38 + tmp_qloop_39);
+                const real_t tmp_qloop_41 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_43 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_47 = tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46);
+                const real_t tmp_qloop_48 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_49 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_50 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_51 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_52 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_53 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_54 = tmp_qloop_22*(tmp_qloop_48 + tmp_qloop_49) + tmp_qloop_23*(tmp_qloop_50 + tmp_qloop_51) + tmp_qloop_24*(tmp_qloop_52 + tmp_qloop_53);
+                const real_t tmp_qloop_55 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_56 = tmp_qloop_22*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_55 - tmp_qloop_35 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_55 - tmp_qloop_37 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_55 - tmp_qloop_39 - tmp_qloop_46);
+                const real_t tmp_qloop_57 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_58 = -tmp_qloop_1 - tmp_qloop_57 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_59 = tmp_qloop_22*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_58 - tmp_qloop_34 - tmp_qloop_49) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_58 - tmp_qloop_36 - tmp_qloop_51) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_53);
+                const real_t tmp_qloop_60 = -tmp_qloop_2 - tmp_qloop_57 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_61 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_60 - tmp_qloop_41 - tmp_qloop_48) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_60 - tmp_qloop_43 - tmp_qloop_50) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_60 - tmp_qloop_45 - tmp_qloop_52);
+                const real_t tmp_qloop_62 = tmp_qloop_10*tmp_qloop_26;
+                const real_t tmp_qloop_63 = tmp_qloop_13*tmp_qloop_26;
+                const real_t tmp_qloop_64 = tmp_qloop_16*tmp_qloop_26;
+                const real_t tmp_qloop_65 = tmp_qloop_26*tmp_qloop_7;
+                const real_t tmp_qloop_66 = tmp_qloop_26*tmp_qloop_6;
+                const real_t tmp_qloop_67 = tmp_qloop_26*tmp_qloop_5;
+                const real_t tmp_qloop_68 = tmp_qloop_17*tmp_qloop_26;
+                const real_t tmp_qloop_69 = tmp_qloop_18*tmp_qloop_26;
+                const real_t tmp_qloop_70 = tmp_qloop_20*tmp_qloop_26;
+                const real_t q_tmp_0_0 = tmp_qloop_25*tmp_qloop_27;
+                const real_t q_tmp_0_1 = tmp_qloop_27*tmp_qloop_29;
+                const real_t q_tmp_0_2 = tmp_qloop_27*tmp_qloop_31;
+                const real_t q_tmp_0_3 = tmp_qloop_27*tmp_qloop_33;
+                const real_t q_tmp_0_4 = tmp_qloop_27*tmp_qloop_40;
+                const real_t q_tmp_0_5 = tmp_qloop_27*tmp_qloop_47;
+                const real_t q_tmp_0_6 = tmp_qloop_27*tmp_qloop_54;
+                const real_t q_tmp_0_7 = tmp_qloop_27*tmp_qloop_56;
+                const real_t q_tmp_0_8 = tmp_qloop_27*tmp_qloop_59;
+                const real_t q_tmp_0_9 = tmp_qloop_27*tmp_qloop_61;
+                const real_t q_tmp_1_0 = tmp_qloop_25*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_qloop_29*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_qloop_31*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_qloop_33*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_qloop_40*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_qloop_47*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_qloop_56*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_qloop_61*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_qloop_25*tmp_qloop_63;
+                const real_t q_tmp_2_1 = tmp_qloop_29*tmp_qloop_63;
+                const real_t q_tmp_2_2 = tmp_qloop_31*tmp_qloop_63;
+                const real_t q_tmp_2_3 = tmp_qloop_33*tmp_qloop_63;
+                const real_t q_tmp_2_4 = tmp_qloop_40*tmp_qloop_63;
+                const real_t q_tmp_2_5 = tmp_qloop_47*tmp_qloop_63;
+                const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_63;
+                const real_t q_tmp_2_7 = tmp_qloop_56*tmp_qloop_63;
+                const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_63;
+                const real_t q_tmp_2_9 = tmp_qloop_61*tmp_qloop_63;
+                const real_t q_tmp_3_0 = tmp_qloop_25*tmp_qloop_64;
+                const real_t q_tmp_3_1 = tmp_qloop_29*tmp_qloop_64;
+                const real_t q_tmp_3_2 = tmp_qloop_31*tmp_qloop_64;
+                const real_t q_tmp_3_3 = tmp_qloop_33*tmp_qloop_64;
+                const real_t q_tmp_3_4 = tmp_qloop_40*tmp_qloop_64;
+                const real_t q_tmp_3_5 = tmp_qloop_47*tmp_qloop_64;
+                const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_64;
+                const real_t q_tmp_3_7 = tmp_qloop_56*tmp_qloop_64;
+                const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_64;
+                const real_t q_tmp_3_9 = tmp_qloop_61*tmp_qloop_64;
+                const real_t q_tmp_4_0 = tmp_qloop_25*tmp_qloop_65;
+                const real_t q_tmp_4_1 = tmp_qloop_29*tmp_qloop_65;
+                const real_t q_tmp_4_2 = tmp_qloop_31*tmp_qloop_65;
+                const real_t q_tmp_4_3 = tmp_qloop_33*tmp_qloop_65;
+                const real_t q_tmp_4_4 = tmp_qloop_40*tmp_qloop_65;
+                const real_t q_tmp_4_5 = tmp_qloop_47*tmp_qloop_65;
+                const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_65;
+                const real_t q_tmp_4_7 = tmp_qloop_56*tmp_qloop_65;
+                const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_65;
+                const real_t q_tmp_4_9 = tmp_qloop_61*tmp_qloop_65;
+                const real_t q_tmp_5_0 = tmp_qloop_25*tmp_qloop_66;
+                const real_t q_tmp_5_1 = tmp_qloop_29*tmp_qloop_66;
+                const real_t q_tmp_5_2 = tmp_qloop_31*tmp_qloop_66;
+                const real_t q_tmp_5_3 = tmp_qloop_33*tmp_qloop_66;
+                const real_t q_tmp_5_4 = tmp_qloop_40*tmp_qloop_66;
+                const real_t q_tmp_5_5 = tmp_qloop_47*tmp_qloop_66;
+                const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_66;
+                const real_t q_tmp_5_7 = tmp_qloop_56*tmp_qloop_66;
+                const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_66;
+                const real_t q_tmp_5_9 = tmp_qloop_61*tmp_qloop_66;
+                const real_t q_tmp_6_0 = tmp_qloop_25*tmp_qloop_67;
+                const real_t q_tmp_6_1 = tmp_qloop_29*tmp_qloop_67;
+                const real_t q_tmp_6_2 = tmp_qloop_31*tmp_qloop_67;
+                const real_t q_tmp_6_3 = tmp_qloop_33*tmp_qloop_67;
+                const real_t q_tmp_6_4 = tmp_qloop_40*tmp_qloop_67;
+                const real_t q_tmp_6_5 = tmp_qloop_47*tmp_qloop_67;
+                const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_67;
+                const real_t q_tmp_6_7 = tmp_qloop_56*tmp_qloop_67;
+                const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_67;
+                const real_t q_tmp_6_9 = tmp_qloop_61*tmp_qloop_67;
+                const real_t q_tmp_7_0 = tmp_qloop_25*tmp_qloop_68;
+                const real_t q_tmp_7_1 = tmp_qloop_29*tmp_qloop_68;
+                const real_t q_tmp_7_2 = tmp_qloop_31*tmp_qloop_68;
+                const real_t q_tmp_7_3 = tmp_qloop_33*tmp_qloop_68;
+                const real_t q_tmp_7_4 = tmp_qloop_40*tmp_qloop_68;
+                const real_t q_tmp_7_5 = tmp_qloop_47*tmp_qloop_68;
+                const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_68;
+                const real_t q_tmp_7_7 = tmp_qloop_56*tmp_qloop_68;
+                const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_68;
+                const real_t q_tmp_7_9 = tmp_qloop_61*tmp_qloop_68;
+                const real_t q_tmp_8_0 = tmp_qloop_25*tmp_qloop_69;
+                const real_t q_tmp_8_1 = tmp_qloop_29*tmp_qloop_69;
+                const real_t q_tmp_8_2 = tmp_qloop_31*tmp_qloop_69;
+                const real_t q_tmp_8_3 = tmp_qloop_33*tmp_qloop_69;
+                const real_t q_tmp_8_4 = tmp_qloop_40*tmp_qloop_69;
+                const real_t q_tmp_8_5 = tmp_qloop_47*tmp_qloop_69;
+                const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_69;
+                const real_t q_tmp_8_7 = tmp_qloop_56*tmp_qloop_69;
+                const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_69;
+                const real_t q_tmp_8_9 = tmp_qloop_61*tmp_qloop_69;
+                const real_t q_tmp_9_0 = tmp_qloop_25*tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_29*tmp_qloop_70;
+                const real_t q_tmp_9_2 = tmp_qloop_31*tmp_qloop_70;
+                const real_t q_tmp_9_3 = tmp_qloop_33*tmp_qloop_70;
+                const real_t q_tmp_9_4 = tmp_qloop_40*tmp_qloop_70;
+                const real_t q_tmp_9_5 = tmp_qloop_47*tmp_qloop_70;
+                const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_70;
+                const real_t q_tmp_9_7 = tmp_qloop_56*tmp_qloop_70;
+                const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_70;
+                const real_t q_tmp_9_9 = tmp_qloop_61*tmp_qloop_70;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+             const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+             const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+             const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+             const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+             const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+             _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_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 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN;
+       const real_t tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN);
+       const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN);
+       const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN);
+       const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN);
+       const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN);
+       {
+          /* CellType.GREEN_DOWN */
+          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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_GREEN_DOWN*(cp_dof_0*tmp_qloop_21 + cp_dof_1*tmp_qloop_10 + cp_dof_2*tmp_qloop_13 + cp_dof_3*tmp_qloop_16 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_6 + cp_dof_6*tmp_qloop_5 + cp_dof_7*tmp_qloop_17 + cp_dof_8*tmp_qloop_18 + cp_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_21*tmp_qloop_26;
+                const real_t tmp_qloop_28 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_28;
+                const real_t tmp_qloop_30 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_31 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_30 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_30 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_30;
+                const real_t tmp_qloop_32 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_32 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_32 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_32;
+                const real_t tmp_qloop_34 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_35 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_36 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_37 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_38 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_39 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_40 = tmp_qloop_22*(tmp_qloop_34 + tmp_qloop_35) + tmp_qloop_23*(tmp_qloop_36 + tmp_qloop_37) + tmp_qloop_24*(tmp_qloop_38 + tmp_qloop_39);
+                const real_t tmp_qloop_41 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_43 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_47 = tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46);
+                const real_t tmp_qloop_48 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_49 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_50 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_51 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_52 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_53 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_54 = tmp_qloop_22*(tmp_qloop_48 + tmp_qloop_49) + tmp_qloop_23*(tmp_qloop_50 + tmp_qloop_51) + tmp_qloop_24*(tmp_qloop_52 + tmp_qloop_53);
+                const real_t tmp_qloop_55 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_56 = tmp_qloop_22*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_55 - tmp_qloop_35 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_55 - tmp_qloop_37 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_55 - tmp_qloop_39 - tmp_qloop_46);
+                const real_t tmp_qloop_57 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_58 = -tmp_qloop_1 - tmp_qloop_57 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_59 = tmp_qloop_22*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_58 - tmp_qloop_34 - tmp_qloop_49) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_58 - tmp_qloop_36 - tmp_qloop_51) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_53);
+                const real_t tmp_qloop_60 = -tmp_qloop_2 - tmp_qloop_57 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_61 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_60 - tmp_qloop_41 - tmp_qloop_48) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_60 - tmp_qloop_43 - tmp_qloop_50) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_60 - tmp_qloop_45 - tmp_qloop_52);
+                const real_t tmp_qloop_62 = tmp_qloop_10*tmp_qloop_26;
+                const real_t tmp_qloop_63 = tmp_qloop_13*tmp_qloop_26;
+                const real_t tmp_qloop_64 = tmp_qloop_16*tmp_qloop_26;
+                const real_t tmp_qloop_65 = tmp_qloop_26*tmp_qloop_7;
+                const real_t tmp_qloop_66 = tmp_qloop_26*tmp_qloop_6;
+                const real_t tmp_qloop_67 = tmp_qloop_26*tmp_qloop_5;
+                const real_t tmp_qloop_68 = tmp_qloop_17*tmp_qloop_26;
+                const real_t tmp_qloop_69 = tmp_qloop_18*tmp_qloop_26;
+                const real_t tmp_qloop_70 = tmp_qloop_20*tmp_qloop_26;
+                const real_t q_tmp_0_0 = tmp_qloop_25*tmp_qloop_27;
+                const real_t q_tmp_0_1 = tmp_qloop_27*tmp_qloop_29;
+                const real_t q_tmp_0_2 = tmp_qloop_27*tmp_qloop_31;
+                const real_t q_tmp_0_3 = tmp_qloop_27*tmp_qloop_33;
+                const real_t q_tmp_0_4 = tmp_qloop_27*tmp_qloop_40;
+                const real_t q_tmp_0_5 = tmp_qloop_27*tmp_qloop_47;
+                const real_t q_tmp_0_6 = tmp_qloop_27*tmp_qloop_54;
+                const real_t q_tmp_0_7 = tmp_qloop_27*tmp_qloop_56;
+                const real_t q_tmp_0_8 = tmp_qloop_27*tmp_qloop_59;
+                const real_t q_tmp_0_9 = tmp_qloop_27*tmp_qloop_61;
+                const real_t q_tmp_1_0 = tmp_qloop_25*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_qloop_29*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_qloop_31*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_qloop_33*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_qloop_40*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_qloop_47*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_qloop_56*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_qloop_61*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_qloop_25*tmp_qloop_63;
+                const real_t q_tmp_2_1 = tmp_qloop_29*tmp_qloop_63;
+                const real_t q_tmp_2_2 = tmp_qloop_31*tmp_qloop_63;
+                const real_t q_tmp_2_3 = tmp_qloop_33*tmp_qloop_63;
+                const real_t q_tmp_2_4 = tmp_qloop_40*tmp_qloop_63;
+                const real_t q_tmp_2_5 = tmp_qloop_47*tmp_qloop_63;
+                const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_63;
+                const real_t q_tmp_2_7 = tmp_qloop_56*tmp_qloop_63;
+                const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_63;
+                const real_t q_tmp_2_9 = tmp_qloop_61*tmp_qloop_63;
+                const real_t q_tmp_3_0 = tmp_qloop_25*tmp_qloop_64;
+                const real_t q_tmp_3_1 = tmp_qloop_29*tmp_qloop_64;
+                const real_t q_tmp_3_2 = tmp_qloop_31*tmp_qloop_64;
+                const real_t q_tmp_3_3 = tmp_qloop_33*tmp_qloop_64;
+                const real_t q_tmp_3_4 = tmp_qloop_40*tmp_qloop_64;
+                const real_t q_tmp_3_5 = tmp_qloop_47*tmp_qloop_64;
+                const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_64;
+                const real_t q_tmp_3_7 = tmp_qloop_56*tmp_qloop_64;
+                const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_64;
+                const real_t q_tmp_3_9 = tmp_qloop_61*tmp_qloop_64;
+                const real_t q_tmp_4_0 = tmp_qloop_25*tmp_qloop_65;
+                const real_t q_tmp_4_1 = tmp_qloop_29*tmp_qloop_65;
+                const real_t q_tmp_4_2 = tmp_qloop_31*tmp_qloop_65;
+                const real_t q_tmp_4_3 = tmp_qloop_33*tmp_qloop_65;
+                const real_t q_tmp_4_4 = tmp_qloop_40*tmp_qloop_65;
+                const real_t q_tmp_4_5 = tmp_qloop_47*tmp_qloop_65;
+                const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_65;
+                const real_t q_tmp_4_7 = tmp_qloop_56*tmp_qloop_65;
+                const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_65;
+                const real_t q_tmp_4_9 = tmp_qloop_61*tmp_qloop_65;
+                const real_t q_tmp_5_0 = tmp_qloop_25*tmp_qloop_66;
+                const real_t q_tmp_5_1 = tmp_qloop_29*tmp_qloop_66;
+                const real_t q_tmp_5_2 = tmp_qloop_31*tmp_qloop_66;
+                const real_t q_tmp_5_3 = tmp_qloop_33*tmp_qloop_66;
+                const real_t q_tmp_5_4 = tmp_qloop_40*tmp_qloop_66;
+                const real_t q_tmp_5_5 = tmp_qloop_47*tmp_qloop_66;
+                const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_66;
+                const real_t q_tmp_5_7 = tmp_qloop_56*tmp_qloop_66;
+                const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_66;
+                const real_t q_tmp_5_9 = tmp_qloop_61*tmp_qloop_66;
+                const real_t q_tmp_6_0 = tmp_qloop_25*tmp_qloop_67;
+                const real_t q_tmp_6_1 = tmp_qloop_29*tmp_qloop_67;
+                const real_t q_tmp_6_2 = tmp_qloop_31*tmp_qloop_67;
+                const real_t q_tmp_6_3 = tmp_qloop_33*tmp_qloop_67;
+                const real_t q_tmp_6_4 = tmp_qloop_40*tmp_qloop_67;
+                const real_t q_tmp_6_5 = tmp_qloop_47*tmp_qloop_67;
+                const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_67;
+                const real_t q_tmp_6_7 = tmp_qloop_56*tmp_qloop_67;
+                const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_67;
+                const real_t q_tmp_6_9 = tmp_qloop_61*tmp_qloop_67;
+                const real_t q_tmp_7_0 = tmp_qloop_25*tmp_qloop_68;
+                const real_t q_tmp_7_1 = tmp_qloop_29*tmp_qloop_68;
+                const real_t q_tmp_7_2 = tmp_qloop_31*tmp_qloop_68;
+                const real_t q_tmp_7_3 = tmp_qloop_33*tmp_qloop_68;
+                const real_t q_tmp_7_4 = tmp_qloop_40*tmp_qloop_68;
+                const real_t q_tmp_7_5 = tmp_qloop_47*tmp_qloop_68;
+                const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_68;
+                const real_t q_tmp_7_7 = tmp_qloop_56*tmp_qloop_68;
+                const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_68;
+                const real_t q_tmp_7_9 = tmp_qloop_61*tmp_qloop_68;
+                const real_t q_tmp_8_0 = tmp_qloop_25*tmp_qloop_69;
+                const real_t q_tmp_8_1 = tmp_qloop_29*tmp_qloop_69;
+                const real_t q_tmp_8_2 = tmp_qloop_31*tmp_qloop_69;
+                const real_t q_tmp_8_3 = tmp_qloop_33*tmp_qloop_69;
+                const real_t q_tmp_8_4 = tmp_qloop_40*tmp_qloop_69;
+                const real_t q_tmp_8_5 = tmp_qloop_47*tmp_qloop_69;
+                const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_69;
+                const real_t q_tmp_8_7 = tmp_qloop_56*tmp_qloop_69;
+                const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_69;
+                const real_t q_tmp_8_9 = tmp_qloop_61*tmp_qloop_69;
+                const real_t q_tmp_9_0 = tmp_qloop_25*tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_29*tmp_qloop_70;
+                const real_t q_tmp_9_2 = tmp_qloop_31*tmp_qloop_70;
+                const real_t q_tmp_9_3 = tmp_qloop_33*tmp_qloop_70;
+                const real_t q_tmp_9_4 = tmp_qloop_40*tmp_qloop_70;
+                const real_t q_tmp_9_5 = tmp_qloop_47*tmp_qloop_70;
+                const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_70;
+                const real_t q_tmp_9_7 = tmp_qloop_56*tmp_qloop_70;
+                const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_70;
+                const real_t q_tmp_9_9 = tmp_qloop_61*tmp_qloop_70;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+             const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+             const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+             const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+             const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+             const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+             _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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] = elMatVec_6 + _data_dstEdge[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_dstEdge[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))] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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))];
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/advection/noarch/P2ElementwiseAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseAdvection_macro_3D.cpp b/operators/advection/noarch/P2ElementwiseAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseAdvection_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..0be42cf6168146b5fdaaec3886a60e6f07f9b173
--- /dev/null
+++ b/operators/advection/noarch/P2ElementwiseAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseAdvection_macro_3D.cpp
@@ -0,0 +1,1446 @@
+/*
+* 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 Operator Generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ElementwiseAdvection.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ElementwiseAdvection::computeInverseDiagonalOperatorValues_P2ElementwiseAdvection_macro_3D( real_t * RESTRICT  _data_cpEdge, real_t * RESTRICT  _data_cpVertex, real_t * RESTRICT  _data_invDiag_Edge, real_t * RESTRICT  _data_invDiag_Vertex, real_t * RESTRICT  _data_uxEdge, real_t * RESTRICT  _data_uxVertex, real_t * RESTRICT  _data_uyEdge, real_t * RESTRICT  _data_uyVertex, real_t * RESTRICT  _data_uzEdge, real_t * RESTRICT  _data_uzVertex, 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 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_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 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_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 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_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 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP;
+       const real_t tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP);
+       const real_t jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP);
+       const real_t jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP);
+       const real_t jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP);
+       const real_t jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP);
+       {
+          /* CellType.WHITE_UP */
+          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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_1 = tmp_qloop_0*2.0;
+                const real_t tmp_qloop_2 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_3 = tmp_qloop_2*2.0;
+                const real_t tmp_qloop_4 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_7 = tmp_qloop_6*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_9 = tmp_qloop_8*_data_q_p_1[q];
+                const real_t tmp_qloop_10 = tmp_qloop_8*_data_q_p_2[q];
+                const real_t tmp_qloop_11 = tmp_qloop_10 + tmp_qloop_9;
+                const real_t tmp_qloop_12 = tmp_qloop_1 + tmp_qloop_11 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                const real_t tmp_qloop_13 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_14 = tmp_qloop_6 + tmp_qloop_8;
+                const real_t tmp_qloop_15 = tmp_qloop_13 + tmp_qloop_14 - 3.0;
+                const real_t tmp_qloop_16 = tmp_qloop_1 - _data_q_p_0[q];
+                const real_t tmp_qloop_17 = tmp_qloop_3 - _data_q_p_1[q];
+                const real_t tmp_qloop_18 = tmp_qloop_5 - _data_q_p_2[q];
+                const real_t tmp_qloop_19 = -tmp_qloop_10 + tmp_qloop_13 + tmp_qloop_4*-4.0 - tmp_qloop_7;
+                const real_t tmp_qloop_20 = tmp_qloop_2*-4.0 + tmp_qloop_6 - tmp_qloop_7 - tmp_qloop_9;
+                const real_t tmp_qloop_21 = tmp_qloop_0*-4.0 - tmp_qloop_11 + tmp_qloop_8;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_5 + tmp_qloop_12*ux_dof_0 + tmp_qloop_16*ux_dof_1 + tmp_qloop_17*ux_dof_2 + tmp_qloop_18*ux_dof_3 + tmp_qloop_19*ux_dof_7 + tmp_qloop_20*ux_dof_8 + tmp_qloop_21*ux_dof_9 + tmp_qloop_7*ux_dof_4 + tmp_qloop_9*ux_dof_6;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_5 + tmp_qloop_12*uy_dof_0 + tmp_qloop_16*uy_dof_1 + tmp_qloop_17*uy_dof_2 + tmp_qloop_18*uy_dof_3 + tmp_qloop_19*uy_dof_7 + tmp_qloop_20*uy_dof_8 + tmp_qloop_21*uy_dof_9 + tmp_qloop_7*uy_dof_4 + tmp_qloop_9*uy_dof_6;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_5 + tmp_qloop_12*uz_dof_0 + tmp_qloop_16*uz_dof_1 + tmp_qloop_17*uz_dof_2 + tmp_qloop_18*uz_dof_3 + tmp_qloop_19*uz_dof_7 + tmp_qloop_20*uz_dof_8 + tmp_qloop_21*uz_dof_9 + tmp_qloop_7*uz_dof_4 + tmp_qloop_9*uz_dof_6;
+                const real_t tmp_qloop_25 = abs_det_jac_affine_WHITE_UP*(cp_dof_0*tmp_qloop_12 + cp_dof_1*tmp_qloop_16 + cp_dof_2*tmp_qloop_17 + cp_dof_3*tmp_qloop_18 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_10 + cp_dof_6*tmp_qloop_9 + cp_dof_7*tmp_qloop_19 + cp_dof_8*tmp_qloop_20 + cp_dof_9*tmp_qloop_21)*_data_q_w[q];
+                const real_t tmp_qloop_26 = tmp_qloop_8 - 1.0;
+                const real_t tmp_qloop_27 = tmp_qloop_6 - 1.0;
+                const real_t tmp_qloop_28 = tmp_qloop_13 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_6;
+                const real_t tmp_qloop_30 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_13;
+                const real_t tmp_qloop_31 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_6;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_13;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_6;
+                const real_t tmp_qloop_34 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_13;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_8;
+                const real_t tmp_qloop_36 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_13;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_8;
+                const real_t tmp_qloop_38 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_13;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_8;
+                const real_t tmp_qloop_40 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_13;
+                const real_t tmp_qloop_41 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_8;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_6;
+                const real_t tmp_qloop_43 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_8;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_6;
+                const real_t tmp_qloop_45 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_8;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_6;
+                const real_t tmp_qloop_47 = -tmp_qloop_14 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_48 = tmp_qloop_13 - 4.0;
+                const real_t tmp_qloop_49 = -tmp_qloop_48 - tmp_qloop_8 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_50 = -tmp_qloop_48 - tmp_qloop_6 - 8.0*_data_q_p_0[q];
+                const real_t q_tmp_0_0 = tmp_qloop_12*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_15 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_15 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_15) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_15 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_15 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_15) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_15 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_15 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_15));
+                const real_t q_tmp_1_1 = tmp_qloop_16*tmp_qloop_25*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_24*tmp_qloop_26);
+                const real_t q_tmp_2_2 = tmp_qloop_17*tmp_qloop_25*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_24*tmp_qloop_27);
+                const real_t q_tmp_3_3 = tmp_qloop_18*tmp_qloop_25*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_24*tmp_qloop_28);
+                const real_t q_tmp_4_4 = tmp_qloop_25*tmp_qloop_7*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34));
+                const real_t q_tmp_5_5 = tmp_qloop_10*tmp_qloop_25*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40));
+                const real_t q_tmp_6_6 = tmp_qloop_25*tmp_qloop_9*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46));
+                const real_t q_tmp_7_7 = tmp_qloop_19*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40));
+                const real_t q_tmp_8_8 = tmp_qloop_20*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46));
+                const real_t q_tmp_9_9 = tmp_qloop_21*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45));
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+             }
+             const real_t elMatDiag_0 = q_acc_0_0;
+             const real_t elMatDiag_1 = q_acc_1_1;
+             const real_t elMatDiag_2 = q_acc_2_2;
+             const real_t elMatDiag_3 = q_acc_3_3;
+             const real_t elMatDiag_4 = q_acc_4_4;
+             const real_t elMatDiag_5 = q_acc_5_5;
+             const real_t elMatDiag_6 = q_acc_6_6;
+             const real_t elMatDiag_7 = q_acc_7_7;
+             const real_t elMatDiag_8 = q_acc_8_8;
+             const real_t elMatDiag_9 = q_acc_9_9;
+             _data_invDiag_Vertex[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))] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_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 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_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 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_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 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN;
+       const real_t tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN);
+       const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN);
+       const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN);
+       const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN);
+       const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN);
+       {
+          /* CellType.WHITE_DOWN */
+          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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_1 = tmp_qloop_0*2.0;
+                const real_t tmp_qloop_2 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_3 = tmp_qloop_2*2.0;
+                const real_t tmp_qloop_4 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_7 = tmp_qloop_6*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_9 = tmp_qloop_8*_data_q_p_1[q];
+                const real_t tmp_qloop_10 = tmp_qloop_8*_data_q_p_2[q];
+                const real_t tmp_qloop_11 = tmp_qloop_10 + tmp_qloop_9;
+                const real_t tmp_qloop_12 = tmp_qloop_1 + tmp_qloop_11 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                const real_t tmp_qloop_13 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_14 = tmp_qloop_6 + tmp_qloop_8;
+                const real_t tmp_qloop_15 = tmp_qloop_13 + tmp_qloop_14 - 3.0;
+                const real_t tmp_qloop_16 = tmp_qloop_1 - _data_q_p_0[q];
+                const real_t tmp_qloop_17 = tmp_qloop_3 - _data_q_p_1[q];
+                const real_t tmp_qloop_18 = tmp_qloop_5 - _data_q_p_2[q];
+                const real_t tmp_qloop_19 = -tmp_qloop_10 + tmp_qloop_13 + tmp_qloop_4*-4.0 - tmp_qloop_7;
+                const real_t tmp_qloop_20 = tmp_qloop_2*-4.0 + tmp_qloop_6 - tmp_qloop_7 - tmp_qloop_9;
+                const real_t tmp_qloop_21 = tmp_qloop_0*-4.0 - tmp_qloop_11 + tmp_qloop_8;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_5 + tmp_qloop_12*ux_dof_0 + tmp_qloop_16*ux_dof_1 + tmp_qloop_17*ux_dof_2 + tmp_qloop_18*ux_dof_3 + tmp_qloop_19*ux_dof_7 + tmp_qloop_20*ux_dof_8 + tmp_qloop_21*ux_dof_9 + tmp_qloop_7*ux_dof_4 + tmp_qloop_9*ux_dof_6;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_5 + tmp_qloop_12*uy_dof_0 + tmp_qloop_16*uy_dof_1 + tmp_qloop_17*uy_dof_2 + tmp_qloop_18*uy_dof_3 + tmp_qloop_19*uy_dof_7 + tmp_qloop_20*uy_dof_8 + tmp_qloop_21*uy_dof_9 + tmp_qloop_7*uy_dof_4 + tmp_qloop_9*uy_dof_6;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_5 + tmp_qloop_12*uz_dof_0 + tmp_qloop_16*uz_dof_1 + tmp_qloop_17*uz_dof_2 + tmp_qloop_18*uz_dof_3 + tmp_qloop_19*uz_dof_7 + tmp_qloop_20*uz_dof_8 + tmp_qloop_21*uz_dof_9 + tmp_qloop_7*uz_dof_4 + tmp_qloop_9*uz_dof_6;
+                const real_t tmp_qloop_25 = abs_det_jac_affine_WHITE_DOWN*(cp_dof_0*tmp_qloop_12 + cp_dof_1*tmp_qloop_16 + cp_dof_2*tmp_qloop_17 + cp_dof_3*tmp_qloop_18 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_10 + cp_dof_6*tmp_qloop_9 + cp_dof_7*tmp_qloop_19 + cp_dof_8*tmp_qloop_20 + cp_dof_9*tmp_qloop_21)*_data_q_w[q];
+                const real_t tmp_qloop_26 = tmp_qloop_8 - 1.0;
+                const real_t tmp_qloop_27 = tmp_qloop_6 - 1.0;
+                const real_t tmp_qloop_28 = tmp_qloop_13 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_6;
+                const real_t tmp_qloop_30 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_13;
+                const real_t tmp_qloop_31 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_6;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_13;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_6;
+                const real_t tmp_qloop_34 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_13;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_8;
+                const real_t tmp_qloop_36 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_13;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_8;
+                const real_t tmp_qloop_38 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_13;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_8;
+                const real_t tmp_qloop_40 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_13;
+                const real_t tmp_qloop_41 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_8;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_6;
+                const real_t tmp_qloop_43 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_8;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_6;
+                const real_t tmp_qloop_45 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_8;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_6;
+                const real_t tmp_qloop_47 = -tmp_qloop_14 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_48 = tmp_qloop_13 - 4.0;
+                const real_t tmp_qloop_49 = -tmp_qloop_48 - tmp_qloop_8 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_50 = -tmp_qloop_48 - tmp_qloop_6 - 8.0*_data_q_p_0[q];
+                const real_t q_tmp_0_0 = tmp_qloop_12*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_15 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_15 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_15) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_15 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_15 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_15) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_15 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_15 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_15));
+                const real_t q_tmp_1_1 = tmp_qloop_16*tmp_qloop_25*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_26);
+                const real_t q_tmp_2_2 = tmp_qloop_17*tmp_qloop_25*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_27);
+                const real_t q_tmp_3_3 = tmp_qloop_18*tmp_qloop_25*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_28);
+                const real_t q_tmp_4_4 = tmp_qloop_25*tmp_qloop_7*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34));
+                const real_t q_tmp_5_5 = tmp_qloop_10*tmp_qloop_25*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40));
+                const real_t q_tmp_6_6 = tmp_qloop_25*tmp_qloop_9*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46));
+                const real_t q_tmp_7_7 = tmp_qloop_19*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40));
+                const real_t q_tmp_8_8 = tmp_qloop_20*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46));
+                const real_t q_tmp_9_9 = tmp_qloop_21*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45));
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+             }
+             const real_t elMatDiag_0 = q_acc_0_0;
+             const real_t elMatDiag_1 = q_acc_1_1;
+             const real_t elMatDiag_2 = q_acc_2_2;
+             const real_t elMatDiag_3 = q_acc_3_3;
+             const real_t elMatDiag_4 = q_acc_4_4;
+             const real_t elMatDiag_5 = q_acc_5_5;
+             const real_t elMatDiag_6 = q_acc_6_6;
+             const real_t elMatDiag_7 = q_acc_7_7;
+             const real_t elMatDiag_8 = q_acc_8_8;
+             const real_t elMatDiag_9 = q_acc_9_9;
+             _data_invDiag_Vertex[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] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_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 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_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 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_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 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP;
+       const real_t tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP);
+       const real_t jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP);
+       const real_t jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP);
+       const real_t jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP);
+       const real_t jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP);
+       {
+          /* CellType.BLUE_UP */
+          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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_1 = tmp_qloop_0*2.0;
+                const real_t tmp_qloop_2 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_3 = tmp_qloop_2*2.0;
+                const real_t tmp_qloop_4 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_7 = tmp_qloop_6*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_9 = tmp_qloop_8*_data_q_p_1[q];
+                const real_t tmp_qloop_10 = tmp_qloop_8*_data_q_p_2[q];
+                const real_t tmp_qloop_11 = tmp_qloop_10 + tmp_qloop_9;
+                const real_t tmp_qloop_12 = tmp_qloop_1 + tmp_qloop_11 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                const real_t tmp_qloop_13 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_14 = tmp_qloop_6 + tmp_qloop_8;
+                const real_t tmp_qloop_15 = tmp_qloop_13 + tmp_qloop_14 - 3.0;
+                const real_t tmp_qloop_16 = tmp_qloop_1 - _data_q_p_0[q];
+                const real_t tmp_qloop_17 = tmp_qloop_3 - _data_q_p_1[q];
+                const real_t tmp_qloop_18 = tmp_qloop_5 - _data_q_p_2[q];
+                const real_t tmp_qloop_19 = -tmp_qloop_10 + tmp_qloop_13 + tmp_qloop_4*-4.0 - tmp_qloop_7;
+                const real_t tmp_qloop_20 = tmp_qloop_2*-4.0 + tmp_qloop_6 - tmp_qloop_7 - tmp_qloop_9;
+                const real_t tmp_qloop_21 = tmp_qloop_0*-4.0 - tmp_qloop_11 + tmp_qloop_8;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_5 + tmp_qloop_12*ux_dof_0 + tmp_qloop_16*ux_dof_1 + tmp_qloop_17*ux_dof_2 + tmp_qloop_18*ux_dof_3 + tmp_qloop_19*ux_dof_7 + tmp_qloop_20*ux_dof_8 + tmp_qloop_21*ux_dof_9 + tmp_qloop_7*ux_dof_4 + tmp_qloop_9*ux_dof_6;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_5 + tmp_qloop_12*uy_dof_0 + tmp_qloop_16*uy_dof_1 + tmp_qloop_17*uy_dof_2 + tmp_qloop_18*uy_dof_3 + tmp_qloop_19*uy_dof_7 + tmp_qloop_20*uy_dof_8 + tmp_qloop_21*uy_dof_9 + tmp_qloop_7*uy_dof_4 + tmp_qloop_9*uy_dof_6;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_5 + tmp_qloop_12*uz_dof_0 + tmp_qloop_16*uz_dof_1 + tmp_qloop_17*uz_dof_2 + tmp_qloop_18*uz_dof_3 + tmp_qloop_19*uz_dof_7 + tmp_qloop_20*uz_dof_8 + tmp_qloop_21*uz_dof_9 + tmp_qloop_7*uz_dof_4 + tmp_qloop_9*uz_dof_6;
+                const real_t tmp_qloop_25 = abs_det_jac_affine_BLUE_UP*(cp_dof_0*tmp_qloop_12 + cp_dof_1*tmp_qloop_16 + cp_dof_2*tmp_qloop_17 + cp_dof_3*tmp_qloop_18 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_10 + cp_dof_6*tmp_qloop_9 + cp_dof_7*tmp_qloop_19 + cp_dof_8*tmp_qloop_20 + cp_dof_9*tmp_qloop_21)*_data_q_w[q];
+                const real_t tmp_qloop_26 = tmp_qloop_8 - 1.0;
+                const real_t tmp_qloop_27 = tmp_qloop_6 - 1.0;
+                const real_t tmp_qloop_28 = tmp_qloop_13 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_6;
+                const real_t tmp_qloop_30 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_13;
+                const real_t tmp_qloop_31 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_6;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_13;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_6;
+                const real_t tmp_qloop_34 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_13;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_8;
+                const real_t tmp_qloop_36 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_13;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_8;
+                const real_t tmp_qloop_38 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_13;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_8;
+                const real_t tmp_qloop_40 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_13;
+                const real_t tmp_qloop_41 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_8;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_6;
+                const real_t tmp_qloop_43 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_8;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_6;
+                const real_t tmp_qloop_45 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_8;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_6;
+                const real_t tmp_qloop_47 = -tmp_qloop_14 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_48 = tmp_qloop_13 - 4.0;
+                const real_t tmp_qloop_49 = -tmp_qloop_48 - tmp_qloop_8 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_50 = -tmp_qloop_48 - tmp_qloop_6 - 8.0*_data_q_p_0[q];
+                const real_t q_tmp_0_0 = tmp_qloop_12*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_15 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_15 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_15) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_15 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_15 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_15) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_15 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_15 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_15));
+                const real_t q_tmp_1_1 = tmp_qloop_16*tmp_qloop_25*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_BLUE_UP*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_BLUE_UP*tmp_qloop_24*tmp_qloop_26);
+                const real_t q_tmp_2_2 = tmp_qloop_17*tmp_qloop_25*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_24*tmp_qloop_27);
+                const real_t q_tmp_3_3 = tmp_qloop_18*tmp_qloop_25*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_24*tmp_qloop_28);
+                const real_t q_tmp_4_4 = tmp_qloop_25*tmp_qloop_7*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34));
+                const real_t q_tmp_5_5 = tmp_qloop_10*tmp_qloop_25*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40));
+                const real_t q_tmp_6_6 = tmp_qloop_25*tmp_qloop_9*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46));
+                const real_t q_tmp_7_7 = tmp_qloop_19*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40));
+                const real_t q_tmp_8_8 = tmp_qloop_20*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46));
+                const real_t q_tmp_9_9 = tmp_qloop_21*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45));
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+             }
+             const real_t elMatDiag_0 = q_acc_0_0;
+             const real_t elMatDiag_1 = q_acc_1_1;
+             const real_t elMatDiag_2 = q_acc_2_2;
+             const real_t elMatDiag_3 = q_acc_3_3;
+             const real_t elMatDiag_4 = q_acc_4_4;
+             const real_t elMatDiag_5 = q_acc_5_5;
+             const real_t elMatDiag_6 = q_acc_6_6;
+             const real_t elMatDiag_7 = q_acc_7_7;
+             const real_t elMatDiag_8 = q_acc_8_8;
+             const real_t elMatDiag_9 = q_acc_9_9;
+             _data_invDiag_Vertex[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] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_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 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN;
+       const real_t tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN);
+       const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN);
+       const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN);
+       const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN);
+       const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN);
+       {
+          /* CellType.BLUE_DOWN */
+          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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_1 = tmp_qloop_0*2.0;
+                const real_t tmp_qloop_2 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_3 = tmp_qloop_2*2.0;
+                const real_t tmp_qloop_4 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_7 = tmp_qloop_6*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_9 = tmp_qloop_8*_data_q_p_1[q];
+                const real_t tmp_qloop_10 = tmp_qloop_8*_data_q_p_2[q];
+                const real_t tmp_qloop_11 = tmp_qloop_10 + tmp_qloop_9;
+                const real_t tmp_qloop_12 = tmp_qloop_1 + tmp_qloop_11 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                const real_t tmp_qloop_13 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_14 = tmp_qloop_6 + tmp_qloop_8;
+                const real_t tmp_qloop_15 = tmp_qloop_13 + tmp_qloop_14 - 3.0;
+                const real_t tmp_qloop_16 = tmp_qloop_1 - _data_q_p_0[q];
+                const real_t tmp_qloop_17 = tmp_qloop_3 - _data_q_p_1[q];
+                const real_t tmp_qloop_18 = tmp_qloop_5 - _data_q_p_2[q];
+                const real_t tmp_qloop_19 = -tmp_qloop_10 + tmp_qloop_13 + tmp_qloop_4*-4.0 - tmp_qloop_7;
+                const real_t tmp_qloop_20 = tmp_qloop_2*-4.0 + tmp_qloop_6 - tmp_qloop_7 - tmp_qloop_9;
+                const real_t tmp_qloop_21 = tmp_qloop_0*-4.0 - tmp_qloop_11 + tmp_qloop_8;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_5 + tmp_qloop_12*ux_dof_0 + tmp_qloop_16*ux_dof_1 + tmp_qloop_17*ux_dof_2 + tmp_qloop_18*ux_dof_3 + tmp_qloop_19*ux_dof_7 + tmp_qloop_20*ux_dof_8 + tmp_qloop_21*ux_dof_9 + tmp_qloop_7*ux_dof_4 + tmp_qloop_9*ux_dof_6;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_5 + tmp_qloop_12*uy_dof_0 + tmp_qloop_16*uy_dof_1 + tmp_qloop_17*uy_dof_2 + tmp_qloop_18*uy_dof_3 + tmp_qloop_19*uy_dof_7 + tmp_qloop_20*uy_dof_8 + tmp_qloop_21*uy_dof_9 + tmp_qloop_7*uy_dof_4 + tmp_qloop_9*uy_dof_6;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_5 + tmp_qloop_12*uz_dof_0 + tmp_qloop_16*uz_dof_1 + tmp_qloop_17*uz_dof_2 + tmp_qloop_18*uz_dof_3 + tmp_qloop_19*uz_dof_7 + tmp_qloop_20*uz_dof_8 + tmp_qloop_21*uz_dof_9 + tmp_qloop_7*uz_dof_4 + tmp_qloop_9*uz_dof_6;
+                const real_t tmp_qloop_25 = abs_det_jac_affine_BLUE_DOWN*(cp_dof_0*tmp_qloop_12 + cp_dof_1*tmp_qloop_16 + cp_dof_2*tmp_qloop_17 + cp_dof_3*tmp_qloop_18 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_10 + cp_dof_6*tmp_qloop_9 + cp_dof_7*tmp_qloop_19 + cp_dof_8*tmp_qloop_20 + cp_dof_9*tmp_qloop_21)*_data_q_w[q];
+                const real_t tmp_qloop_26 = tmp_qloop_8 - 1.0;
+                const real_t tmp_qloop_27 = tmp_qloop_6 - 1.0;
+                const real_t tmp_qloop_28 = tmp_qloop_13 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_6;
+                const real_t tmp_qloop_30 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_13;
+                const real_t tmp_qloop_31 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_6;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_13;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_6;
+                const real_t tmp_qloop_34 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_13;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_8;
+                const real_t tmp_qloop_36 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_13;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_8;
+                const real_t tmp_qloop_38 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_13;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_8;
+                const real_t tmp_qloop_40 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_13;
+                const real_t tmp_qloop_41 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_8;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_6;
+                const real_t tmp_qloop_43 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_8;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_6;
+                const real_t tmp_qloop_45 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_8;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_6;
+                const real_t tmp_qloop_47 = -tmp_qloop_14 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_48 = tmp_qloop_13 - 4.0;
+                const real_t tmp_qloop_49 = -tmp_qloop_48 - tmp_qloop_8 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_50 = -tmp_qloop_48 - tmp_qloop_6 - 8.0*_data_q_p_0[q];
+                const real_t q_tmp_0_0 = tmp_qloop_12*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_15 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_15 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_15) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_15 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_15 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_15) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_15 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_15 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_15));
+                const real_t q_tmp_1_1 = tmp_qloop_16*tmp_qloop_25*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_26);
+                const real_t q_tmp_2_2 = tmp_qloop_17*tmp_qloop_25*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_27);
+                const real_t q_tmp_3_3 = tmp_qloop_18*tmp_qloop_25*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_28);
+                const real_t q_tmp_4_4 = tmp_qloop_25*tmp_qloop_7*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34));
+                const real_t q_tmp_5_5 = tmp_qloop_10*tmp_qloop_25*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40));
+                const real_t q_tmp_6_6 = tmp_qloop_25*tmp_qloop_9*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46));
+                const real_t q_tmp_7_7 = tmp_qloop_19*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40));
+                const real_t q_tmp_8_8 = tmp_qloop_20*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46));
+                const real_t q_tmp_9_9 = tmp_qloop_21*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45));
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+             }
+             const real_t elMatDiag_0 = q_acc_0_0;
+             const real_t elMatDiag_1 = q_acc_1_1;
+             const real_t elMatDiag_2 = q_acc_2_2;
+             const real_t elMatDiag_3 = q_acc_3_3;
+             const real_t elMatDiag_4 = q_acc_4_4;
+             const real_t elMatDiag_5 = q_acc_5_5;
+             const real_t elMatDiag_6 = q_acc_6_6;
+             const real_t elMatDiag_7 = q_acc_7_7;
+             const real_t elMatDiag_8 = q_acc_8_8;
+             const real_t elMatDiag_9 = q_acc_9_9;
+             _data_invDiag_Vertex[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))] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_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 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_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 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_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 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP;
+       const real_t tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP);
+       const real_t jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP);
+       const real_t jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP);
+       const real_t jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP);
+       const real_t jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP);
+       {
+          /* CellType.GREEN_UP */
+          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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_1 = tmp_qloop_0*2.0;
+                const real_t tmp_qloop_2 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_3 = tmp_qloop_2*2.0;
+                const real_t tmp_qloop_4 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_7 = tmp_qloop_6*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_9 = tmp_qloop_8*_data_q_p_1[q];
+                const real_t tmp_qloop_10 = tmp_qloop_8*_data_q_p_2[q];
+                const real_t tmp_qloop_11 = tmp_qloop_10 + tmp_qloop_9;
+                const real_t tmp_qloop_12 = tmp_qloop_1 + tmp_qloop_11 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                const real_t tmp_qloop_13 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_14 = tmp_qloop_6 + tmp_qloop_8;
+                const real_t tmp_qloop_15 = tmp_qloop_13 + tmp_qloop_14 - 3.0;
+                const real_t tmp_qloop_16 = tmp_qloop_1 - _data_q_p_0[q];
+                const real_t tmp_qloop_17 = tmp_qloop_3 - _data_q_p_1[q];
+                const real_t tmp_qloop_18 = tmp_qloop_5 - _data_q_p_2[q];
+                const real_t tmp_qloop_19 = -tmp_qloop_10 + tmp_qloop_13 + tmp_qloop_4*-4.0 - tmp_qloop_7;
+                const real_t tmp_qloop_20 = tmp_qloop_2*-4.0 + tmp_qloop_6 - tmp_qloop_7 - tmp_qloop_9;
+                const real_t tmp_qloop_21 = tmp_qloop_0*-4.0 - tmp_qloop_11 + tmp_qloop_8;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_5 + tmp_qloop_12*ux_dof_0 + tmp_qloop_16*ux_dof_1 + tmp_qloop_17*ux_dof_2 + tmp_qloop_18*ux_dof_3 + tmp_qloop_19*ux_dof_7 + tmp_qloop_20*ux_dof_8 + tmp_qloop_21*ux_dof_9 + tmp_qloop_7*ux_dof_4 + tmp_qloop_9*ux_dof_6;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_5 + tmp_qloop_12*uy_dof_0 + tmp_qloop_16*uy_dof_1 + tmp_qloop_17*uy_dof_2 + tmp_qloop_18*uy_dof_3 + tmp_qloop_19*uy_dof_7 + tmp_qloop_20*uy_dof_8 + tmp_qloop_21*uy_dof_9 + tmp_qloop_7*uy_dof_4 + tmp_qloop_9*uy_dof_6;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_5 + tmp_qloop_12*uz_dof_0 + tmp_qloop_16*uz_dof_1 + tmp_qloop_17*uz_dof_2 + tmp_qloop_18*uz_dof_3 + tmp_qloop_19*uz_dof_7 + tmp_qloop_20*uz_dof_8 + tmp_qloop_21*uz_dof_9 + tmp_qloop_7*uz_dof_4 + tmp_qloop_9*uz_dof_6;
+                const real_t tmp_qloop_25 = abs_det_jac_affine_GREEN_UP*(cp_dof_0*tmp_qloop_12 + cp_dof_1*tmp_qloop_16 + cp_dof_2*tmp_qloop_17 + cp_dof_3*tmp_qloop_18 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_10 + cp_dof_6*tmp_qloop_9 + cp_dof_7*tmp_qloop_19 + cp_dof_8*tmp_qloop_20 + cp_dof_9*tmp_qloop_21)*_data_q_w[q];
+                const real_t tmp_qloop_26 = tmp_qloop_8 - 1.0;
+                const real_t tmp_qloop_27 = tmp_qloop_6 - 1.0;
+                const real_t tmp_qloop_28 = tmp_qloop_13 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_6;
+                const real_t tmp_qloop_30 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_13;
+                const real_t tmp_qloop_31 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_6;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_13;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_6;
+                const real_t tmp_qloop_34 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_13;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_8;
+                const real_t tmp_qloop_36 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_13;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_8;
+                const real_t tmp_qloop_38 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_13;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_8;
+                const real_t tmp_qloop_40 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_13;
+                const real_t tmp_qloop_41 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_8;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_6;
+                const real_t tmp_qloop_43 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_8;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_6;
+                const real_t tmp_qloop_45 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_8;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_6;
+                const real_t tmp_qloop_47 = -tmp_qloop_14 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_48 = tmp_qloop_13 - 4.0;
+                const real_t tmp_qloop_49 = -tmp_qloop_48 - tmp_qloop_8 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_50 = -tmp_qloop_48 - tmp_qloop_6 - 8.0*_data_q_p_0[q];
+                const real_t q_tmp_0_0 = tmp_qloop_12*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_15 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_15 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_15) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_15 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_15 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_15) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_15 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_15 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_15));
+                const real_t q_tmp_1_1 = tmp_qloop_16*tmp_qloop_25*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_GREEN_UP*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_GREEN_UP*tmp_qloop_24*tmp_qloop_26);
+                const real_t q_tmp_2_2 = tmp_qloop_17*tmp_qloop_25*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_24*tmp_qloop_27);
+                const real_t q_tmp_3_3 = tmp_qloop_18*tmp_qloop_25*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_24*tmp_qloop_28);
+                const real_t q_tmp_4_4 = tmp_qloop_25*tmp_qloop_7*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34));
+                const real_t q_tmp_5_5 = tmp_qloop_10*tmp_qloop_25*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40));
+                const real_t q_tmp_6_6 = tmp_qloop_25*tmp_qloop_9*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46));
+                const real_t q_tmp_7_7 = tmp_qloop_19*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40));
+                const real_t q_tmp_8_8 = tmp_qloop_20*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46));
+                const real_t q_tmp_9_9 = tmp_qloop_21*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45));
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+             }
+             const real_t elMatDiag_0 = q_acc_0_0;
+             const real_t elMatDiag_1 = q_acc_1_1;
+             const real_t elMatDiag_2 = q_acc_2_2;
+             const real_t elMatDiag_3 = q_acc_3_3;
+             const real_t elMatDiag_4 = q_acc_4_4;
+             const real_t elMatDiag_5 = q_acc_5_5;
+             const real_t elMatDiag_6 = q_acc_6_6;
+             const real_t elMatDiag_7 = q_acc_7_7;
+             const real_t elMatDiag_8 = q_acc_8_8;
+             const real_t elMatDiag_9 = q_acc_9_9;
+             _data_invDiag_Vertex[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] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_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 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN;
+       const real_t tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN);
+       const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN);
+       const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN);
+       const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN);
+       const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN);
+       {
+          /* CellType.GREEN_DOWN */
+          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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_1 = tmp_qloop_0*2.0;
+                const real_t tmp_qloop_2 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_3 = tmp_qloop_2*2.0;
+                const real_t tmp_qloop_4 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_7 = tmp_qloop_6*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_9 = tmp_qloop_8*_data_q_p_1[q];
+                const real_t tmp_qloop_10 = tmp_qloop_8*_data_q_p_2[q];
+                const real_t tmp_qloop_11 = tmp_qloop_10 + tmp_qloop_9;
+                const real_t tmp_qloop_12 = tmp_qloop_1 + tmp_qloop_11 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                const real_t tmp_qloop_13 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_14 = tmp_qloop_6 + tmp_qloop_8;
+                const real_t tmp_qloop_15 = tmp_qloop_13 + tmp_qloop_14 - 3.0;
+                const real_t tmp_qloop_16 = tmp_qloop_1 - _data_q_p_0[q];
+                const real_t tmp_qloop_17 = tmp_qloop_3 - _data_q_p_1[q];
+                const real_t tmp_qloop_18 = tmp_qloop_5 - _data_q_p_2[q];
+                const real_t tmp_qloop_19 = -tmp_qloop_10 + tmp_qloop_13 + tmp_qloop_4*-4.0 - tmp_qloop_7;
+                const real_t tmp_qloop_20 = tmp_qloop_2*-4.0 + tmp_qloop_6 - tmp_qloop_7 - tmp_qloop_9;
+                const real_t tmp_qloop_21 = tmp_qloop_0*-4.0 - tmp_qloop_11 + tmp_qloop_8;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_5 + tmp_qloop_12*ux_dof_0 + tmp_qloop_16*ux_dof_1 + tmp_qloop_17*ux_dof_2 + tmp_qloop_18*ux_dof_3 + tmp_qloop_19*ux_dof_7 + tmp_qloop_20*ux_dof_8 + tmp_qloop_21*ux_dof_9 + tmp_qloop_7*ux_dof_4 + tmp_qloop_9*ux_dof_6;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_5 + tmp_qloop_12*uy_dof_0 + tmp_qloop_16*uy_dof_1 + tmp_qloop_17*uy_dof_2 + tmp_qloop_18*uy_dof_3 + tmp_qloop_19*uy_dof_7 + tmp_qloop_20*uy_dof_8 + tmp_qloop_21*uy_dof_9 + tmp_qloop_7*uy_dof_4 + tmp_qloop_9*uy_dof_6;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_5 + tmp_qloop_12*uz_dof_0 + tmp_qloop_16*uz_dof_1 + tmp_qloop_17*uz_dof_2 + tmp_qloop_18*uz_dof_3 + tmp_qloop_19*uz_dof_7 + tmp_qloop_20*uz_dof_8 + tmp_qloop_21*uz_dof_9 + tmp_qloop_7*uz_dof_4 + tmp_qloop_9*uz_dof_6;
+                const real_t tmp_qloop_25 = abs_det_jac_affine_GREEN_DOWN*(cp_dof_0*tmp_qloop_12 + cp_dof_1*tmp_qloop_16 + cp_dof_2*tmp_qloop_17 + cp_dof_3*tmp_qloop_18 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_10 + cp_dof_6*tmp_qloop_9 + cp_dof_7*tmp_qloop_19 + cp_dof_8*tmp_qloop_20 + cp_dof_9*tmp_qloop_21)*_data_q_w[q];
+                const real_t tmp_qloop_26 = tmp_qloop_8 - 1.0;
+                const real_t tmp_qloop_27 = tmp_qloop_6 - 1.0;
+                const real_t tmp_qloop_28 = tmp_qloop_13 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_6;
+                const real_t tmp_qloop_30 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_13;
+                const real_t tmp_qloop_31 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_6;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_13;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_6;
+                const real_t tmp_qloop_34 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_13;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_8;
+                const real_t tmp_qloop_36 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_13;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_8;
+                const real_t tmp_qloop_38 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_13;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_8;
+                const real_t tmp_qloop_40 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_13;
+                const real_t tmp_qloop_41 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_8;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_6;
+                const real_t tmp_qloop_43 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_8;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_6;
+                const real_t tmp_qloop_45 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_8;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_6;
+                const real_t tmp_qloop_47 = -tmp_qloop_14 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_48 = tmp_qloop_13 - 4.0;
+                const real_t tmp_qloop_49 = -tmp_qloop_48 - tmp_qloop_8 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_50 = -tmp_qloop_48 - tmp_qloop_6 - 8.0*_data_q_p_0[q];
+                const real_t q_tmp_0_0 = tmp_qloop_12*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_15 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_15 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_15) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_15 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_15 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_15) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_15 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_15 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_15));
+                const real_t q_tmp_1_1 = tmp_qloop_16*tmp_qloop_25*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_26);
+                const real_t q_tmp_2_2 = tmp_qloop_17*tmp_qloop_25*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_27);
+                const real_t q_tmp_3_3 = tmp_qloop_18*tmp_qloop_25*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_28);
+                const real_t q_tmp_4_4 = tmp_qloop_25*tmp_qloop_7*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34));
+                const real_t q_tmp_5_5 = tmp_qloop_10*tmp_qloop_25*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40));
+                const real_t q_tmp_6_6 = tmp_qloop_25*tmp_qloop_9*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46));
+                const real_t q_tmp_7_7 = tmp_qloop_19*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40));
+                const real_t q_tmp_8_8 = tmp_qloop_20*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46));
+                const real_t q_tmp_9_9 = tmp_qloop_21*tmp_qloop_25*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45));
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+             }
+             const real_t elMatDiag_0 = q_acc_0_0;
+             const real_t elMatDiag_1 = q_acc_1_1;
+             const real_t elMatDiag_2 = q_acc_2_2;
+             const real_t elMatDiag_3 = q_acc_3_3;
+             const real_t elMatDiag_4 = q_acc_4_4;
+             const real_t elMatDiag_5 = q_acc_5_5;
+             const real_t elMatDiag_6 = q_acc_6_6;
+             const real_t elMatDiag_7 = q_acc_7_7;
+             const real_t elMatDiag_8 = q_acc_8_8;
+             const real_t elMatDiag_9 = q_acc_9_9;
+             _data_invDiag_Vertex[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))] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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))];
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/advection/noarch/P2ElementwiseAdvection_toMatrix_P2ElementwiseAdvection_macro_3D.cpp b/operators/advection/noarch/P2ElementwiseAdvection_toMatrix_P2ElementwiseAdvection_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..ceab0d45623af77c29530b0d784dcb64bdf03620
--- /dev/null
+++ b/operators/advection/noarch/P2ElementwiseAdvection_toMatrix_P2ElementwiseAdvection_macro_3D.cpp
@@ -0,0 +1,4464 @@
+/*
+* 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 Operator Generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ElementwiseAdvection.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ElementwiseAdvection::toMatrix_P2ElementwiseAdvection_macro_3D( real_t * RESTRICT  _data_cpEdge, real_t * RESTRICT  _data_cpVertex, idx_t * RESTRICT  _data_dstEdge, idx_t * RESTRICT  _data_dstVertex, idx_t * RESTRICT  _data_srcEdge, idx_t * RESTRICT  _data_srcVertex, real_t * RESTRICT  _data_uxEdge, real_t * RESTRICT  _data_uxVertex, real_t * RESTRICT  _data_uyEdge, real_t * RESTRICT  _data_uyVertex, real_t * RESTRICT  _data_uzEdge, real_t * RESTRICT  _data_uzVertex, 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 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_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 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_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 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_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 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP;
+       const real_t tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP);
+       const real_t jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP);
+       const real_t jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP);
+       const real_t jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP);
+       const real_t jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP);
+       {
+          /* CellType.WHITE_UP */
+          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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_WHITE_UP*(cp_dof_0*tmp_qloop_21 + cp_dof_1*tmp_qloop_10 + cp_dof_2*tmp_qloop_13 + cp_dof_3*tmp_qloop_16 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_6 + cp_dof_6*tmp_qloop_5 + cp_dof_7*tmp_qloop_17 + cp_dof_8*tmp_qloop_18 + cp_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_21*tmp_qloop_26;
+                const real_t tmp_qloop_28 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_24*tmp_qloop_28;
+                const real_t tmp_qloop_30 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_31 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_22*tmp_qloop_30 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_23*tmp_qloop_30 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_24*tmp_qloop_30;
+                const real_t tmp_qloop_32 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_22*tmp_qloop_32 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_23*tmp_qloop_32 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_24*tmp_qloop_32;
+                const real_t tmp_qloop_34 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_35 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_36 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_37 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_38 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_39 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_40 = tmp_qloop_22*(tmp_qloop_34 + tmp_qloop_35) + tmp_qloop_23*(tmp_qloop_36 + tmp_qloop_37) + tmp_qloop_24*(tmp_qloop_38 + tmp_qloop_39);
+                const real_t tmp_qloop_41 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_43 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_47 = tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46);
+                const real_t tmp_qloop_48 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_49 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_50 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_51 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_52 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_53 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_54 = tmp_qloop_22*(tmp_qloop_48 + tmp_qloop_49) + tmp_qloop_23*(tmp_qloop_50 + tmp_qloop_51) + tmp_qloop_24*(tmp_qloop_52 + tmp_qloop_53);
+                const real_t tmp_qloop_55 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_56 = tmp_qloop_22*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_55 - tmp_qloop_35 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_55 - tmp_qloop_37 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_55 - tmp_qloop_39 - tmp_qloop_46);
+                const real_t tmp_qloop_57 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_58 = -tmp_qloop_1 - tmp_qloop_57 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_59 = tmp_qloop_22*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_58 - tmp_qloop_34 - tmp_qloop_49) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_58 - tmp_qloop_36 - tmp_qloop_51) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_53);
+                const real_t tmp_qloop_60 = -tmp_qloop_2 - tmp_qloop_57 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_61 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_60 - tmp_qloop_41 - tmp_qloop_48) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_60 - tmp_qloop_43 - tmp_qloop_50) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_60 - tmp_qloop_45 - tmp_qloop_52);
+                const real_t tmp_qloop_62 = tmp_qloop_10*tmp_qloop_26;
+                const real_t tmp_qloop_63 = tmp_qloop_13*tmp_qloop_26;
+                const real_t tmp_qloop_64 = tmp_qloop_16*tmp_qloop_26;
+                const real_t tmp_qloop_65 = tmp_qloop_26*tmp_qloop_7;
+                const real_t tmp_qloop_66 = tmp_qloop_26*tmp_qloop_6;
+                const real_t tmp_qloop_67 = tmp_qloop_26*tmp_qloop_5;
+                const real_t tmp_qloop_68 = tmp_qloop_17*tmp_qloop_26;
+                const real_t tmp_qloop_69 = tmp_qloop_18*tmp_qloop_26;
+                const real_t tmp_qloop_70 = tmp_qloop_20*tmp_qloop_26;
+                const real_t q_tmp_0_0 = tmp_qloop_25*tmp_qloop_27;
+                const real_t q_tmp_0_1 = tmp_qloop_27*tmp_qloop_29;
+                const real_t q_tmp_0_2 = tmp_qloop_27*tmp_qloop_31;
+                const real_t q_tmp_0_3 = tmp_qloop_27*tmp_qloop_33;
+                const real_t q_tmp_0_4 = tmp_qloop_27*tmp_qloop_40;
+                const real_t q_tmp_0_5 = tmp_qloop_27*tmp_qloop_47;
+                const real_t q_tmp_0_6 = tmp_qloop_27*tmp_qloop_54;
+                const real_t q_tmp_0_7 = tmp_qloop_27*tmp_qloop_56;
+                const real_t q_tmp_0_8 = tmp_qloop_27*tmp_qloop_59;
+                const real_t q_tmp_0_9 = tmp_qloop_27*tmp_qloop_61;
+                const real_t q_tmp_1_0 = tmp_qloop_25*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_qloop_29*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_qloop_31*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_qloop_33*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_qloop_40*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_qloop_47*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_qloop_56*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_qloop_61*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_qloop_25*tmp_qloop_63;
+                const real_t q_tmp_2_1 = tmp_qloop_29*tmp_qloop_63;
+                const real_t q_tmp_2_2 = tmp_qloop_31*tmp_qloop_63;
+                const real_t q_tmp_2_3 = tmp_qloop_33*tmp_qloop_63;
+                const real_t q_tmp_2_4 = tmp_qloop_40*tmp_qloop_63;
+                const real_t q_tmp_2_5 = tmp_qloop_47*tmp_qloop_63;
+                const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_63;
+                const real_t q_tmp_2_7 = tmp_qloop_56*tmp_qloop_63;
+                const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_63;
+                const real_t q_tmp_2_9 = tmp_qloop_61*tmp_qloop_63;
+                const real_t q_tmp_3_0 = tmp_qloop_25*tmp_qloop_64;
+                const real_t q_tmp_3_1 = tmp_qloop_29*tmp_qloop_64;
+                const real_t q_tmp_3_2 = tmp_qloop_31*tmp_qloop_64;
+                const real_t q_tmp_3_3 = tmp_qloop_33*tmp_qloop_64;
+                const real_t q_tmp_3_4 = tmp_qloop_40*tmp_qloop_64;
+                const real_t q_tmp_3_5 = tmp_qloop_47*tmp_qloop_64;
+                const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_64;
+                const real_t q_tmp_3_7 = tmp_qloop_56*tmp_qloop_64;
+                const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_64;
+                const real_t q_tmp_3_9 = tmp_qloop_61*tmp_qloop_64;
+                const real_t q_tmp_4_0 = tmp_qloop_25*tmp_qloop_65;
+                const real_t q_tmp_4_1 = tmp_qloop_29*tmp_qloop_65;
+                const real_t q_tmp_4_2 = tmp_qloop_31*tmp_qloop_65;
+                const real_t q_tmp_4_3 = tmp_qloop_33*tmp_qloop_65;
+                const real_t q_tmp_4_4 = tmp_qloop_40*tmp_qloop_65;
+                const real_t q_tmp_4_5 = tmp_qloop_47*tmp_qloop_65;
+                const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_65;
+                const real_t q_tmp_4_7 = tmp_qloop_56*tmp_qloop_65;
+                const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_65;
+                const real_t q_tmp_4_9 = tmp_qloop_61*tmp_qloop_65;
+                const real_t q_tmp_5_0 = tmp_qloop_25*tmp_qloop_66;
+                const real_t q_tmp_5_1 = tmp_qloop_29*tmp_qloop_66;
+                const real_t q_tmp_5_2 = tmp_qloop_31*tmp_qloop_66;
+                const real_t q_tmp_5_3 = tmp_qloop_33*tmp_qloop_66;
+                const real_t q_tmp_5_4 = tmp_qloop_40*tmp_qloop_66;
+                const real_t q_tmp_5_5 = tmp_qloop_47*tmp_qloop_66;
+                const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_66;
+                const real_t q_tmp_5_7 = tmp_qloop_56*tmp_qloop_66;
+                const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_66;
+                const real_t q_tmp_5_9 = tmp_qloop_61*tmp_qloop_66;
+                const real_t q_tmp_6_0 = tmp_qloop_25*tmp_qloop_67;
+                const real_t q_tmp_6_1 = tmp_qloop_29*tmp_qloop_67;
+                const real_t q_tmp_6_2 = tmp_qloop_31*tmp_qloop_67;
+                const real_t q_tmp_6_3 = tmp_qloop_33*tmp_qloop_67;
+                const real_t q_tmp_6_4 = tmp_qloop_40*tmp_qloop_67;
+                const real_t q_tmp_6_5 = tmp_qloop_47*tmp_qloop_67;
+                const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_67;
+                const real_t q_tmp_6_7 = tmp_qloop_56*tmp_qloop_67;
+                const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_67;
+                const real_t q_tmp_6_9 = tmp_qloop_61*tmp_qloop_67;
+                const real_t q_tmp_7_0 = tmp_qloop_25*tmp_qloop_68;
+                const real_t q_tmp_7_1 = tmp_qloop_29*tmp_qloop_68;
+                const real_t q_tmp_7_2 = tmp_qloop_31*tmp_qloop_68;
+                const real_t q_tmp_7_3 = tmp_qloop_33*tmp_qloop_68;
+                const real_t q_tmp_7_4 = tmp_qloop_40*tmp_qloop_68;
+                const real_t q_tmp_7_5 = tmp_qloop_47*tmp_qloop_68;
+                const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_68;
+                const real_t q_tmp_7_7 = tmp_qloop_56*tmp_qloop_68;
+                const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_68;
+                const real_t q_tmp_7_9 = tmp_qloop_61*tmp_qloop_68;
+                const real_t q_tmp_8_0 = tmp_qloop_25*tmp_qloop_69;
+                const real_t q_tmp_8_1 = tmp_qloop_29*tmp_qloop_69;
+                const real_t q_tmp_8_2 = tmp_qloop_31*tmp_qloop_69;
+                const real_t q_tmp_8_3 = tmp_qloop_33*tmp_qloop_69;
+                const real_t q_tmp_8_4 = tmp_qloop_40*tmp_qloop_69;
+                const real_t q_tmp_8_5 = tmp_qloop_47*tmp_qloop_69;
+                const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_69;
+                const real_t q_tmp_8_7 = tmp_qloop_56*tmp_qloop_69;
+                const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_69;
+                const real_t q_tmp_8_9 = tmp_qloop_61*tmp_qloop_69;
+                const real_t q_tmp_9_0 = tmp_qloop_25*tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_29*tmp_qloop_70;
+                const real_t q_tmp_9_2 = tmp_qloop_31*tmp_qloop_70;
+                const real_t q_tmp_9_3 = tmp_qloop_33*tmp_qloop_70;
+                const real_t q_tmp_9_4 = tmp_qloop_40*tmp_qloop_70;
+                const real_t q_tmp_9_5 = tmp_qloop_47*tmp_qloop_70;
+                const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_70;
+                const real_t q_tmp_9_7 = tmp_qloop_56*tmp_qloop_70;
+                const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_70;
+                const real_t q_tmp_9_9 = tmp_qloop_61*tmp_qloop_70;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMat_4_0 = q_acc_4_0;
+             const real_t elMat_4_1 = q_acc_4_1;
+             const real_t elMat_4_2 = q_acc_4_2;
+             const real_t elMat_4_3 = q_acc_4_3;
+             const real_t elMat_4_4 = q_acc_4_4;
+             const real_t elMat_4_5 = q_acc_4_5;
+             const real_t elMat_4_6 = q_acc_4_6;
+             const real_t elMat_4_7 = q_acc_4_7;
+             const real_t elMat_4_8 = q_acc_4_8;
+             const real_t elMat_4_9 = q_acc_4_9;
+             const real_t elMat_5_0 = q_acc_5_0;
+             const real_t elMat_5_1 = q_acc_5_1;
+             const real_t elMat_5_2 = q_acc_5_2;
+             const real_t elMat_5_3 = q_acc_5_3;
+             const real_t elMat_5_4 = q_acc_5_4;
+             const real_t elMat_5_5 = q_acc_5_5;
+             const real_t elMat_5_6 = q_acc_5_6;
+             const real_t elMat_5_7 = q_acc_5_7;
+             const real_t elMat_5_8 = q_acc_5_8;
+             const real_t elMat_5_9 = q_acc_5_9;
+             const real_t elMat_6_0 = q_acc_6_0;
+             const real_t elMat_6_1 = q_acc_6_1;
+             const real_t elMat_6_2 = q_acc_6_2;
+             const real_t elMat_6_3 = q_acc_6_3;
+             const real_t elMat_6_4 = q_acc_6_4;
+             const real_t elMat_6_5 = q_acc_6_5;
+             const real_t elMat_6_6 = q_acc_6_6;
+             const real_t elMat_6_7 = q_acc_6_7;
+             const real_t elMat_6_8 = q_acc_6_8;
+             const real_t elMat_6_9 = q_acc_6_9;
+             const real_t elMat_7_0 = q_acc_7_0;
+             const real_t elMat_7_1 = q_acc_7_1;
+             const real_t elMat_7_2 = q_acc_7_2;
+             const real_t elMat_7_3 = q_acc_7_3;
+             const real_t elMat_7_4 = q_acc_7_4;
+             const real_t elMat_7_5 = q_acc_7_5;
+             const real_t elMat_7_6 = q_acc_7_6;
+             const real_t elMat_7_7 = q_acc_7_7;
+             const real_t elMat_7_8 = q_acc_7_8;
+             const real_t elMat_7_9 = q_acc_7_9;
+             const real_t elMat_8_0 = q_acc_8_0;
+             const real_t elMat_8_1 = q_acc_8_1;
+             const real_t elMat_8_2 = q_acc_8_2;
+             const real_t elMat_8_3 = q_acc_8_3;
+             const real_t elMat_8_4 = q_acc_8_4;
+             const real_t elMat_8_5 = q_acc_8_5;
+             const real_t elMat_8_6 = q_acc_8_6;
+             const real_t elMat_8_7 = q_acc_8_7;
+             const real_t elMat_8_8 = q_acc_8_8;
+             const real_t elMat_8_9 = q_acc_8_9;
+             const real_t elMat_9_0 = q_acc_9_0;
+             const real_t elMat_9_1 = q_acc_9_1;
+             const real_t elMat_9_2 = q_acc_9_2;
+             const real_t elMat_9_3 = q_acc_9_3;
+             const real_t elMat_9_4 = q_acc_9_4;
+             const real_t elMat_9_5 = q_acc_9_5;
+             const real_t elMat_9_6 = q_acc_9_6;
+             const real_t elMat_9_7 = q_acc_9_7;
+             const real_t elMat_9_8 = q_acc_9_8;
+             const real_t elMat_9_9 = q_acc_9_9;
+         
+             std::vector< uint_t > _data_rowIdx( 10 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 100 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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[4] = ((uint64_t)(_data_dstEdge[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_rowIdx[5] = ((uint64_t)(_data_dstEdge[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_rowIdx[6] = ((uint64_t)(_data_dstEdge[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_rowIdx[7] = ((uint64_t)(_data_dstEdge[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_rowIdx[8] = ((uint64_t)(_data_dstEdge[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_rowIdx[9] = ((uint64_t)(_data_dstEdge[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))]));
+             _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));
+             _data_mat[40] = ((real_t)(elMat_4_0));
+             _data_mat[41] = ((real_t)(elMat_4_1));
+             _data_mat[42] = ((real_t)(elMat_4_2));
+             _data_mat[43] = ((real_t)(elMat_4_3));
+             _data_mat[44] = ((real_t)(elMat_4_4));
+             _data_mat[45] = ((real_t)(elMat_4_5));
+             _data_mat[46] = ((real_t)(elMat_4_6));
+             _data_mat[47] = ((real_t)(elMat_4_7));
+             _data_mat[48] = ((real_t)(elMat_4_8));
+             _data_mat[49] = ((real_t)(elMat_4_9));
+             _data_mat[50] = ((real_t)(elMat_5_0));
+             _data_mat[51] = ((real_t)(elMat_5_1));
+             _data_mat[52] = ((real_t)(elMat_5_2));
+             _data_mat[53] = ((real_t)(elMat_5_3));
+             _data_mat[54] = ((real_t)(elMat_5_4));
+             _data_mat[55] = ((real_t)(elMat_5_5));
+             _data_mat[56] = ((real_t)(elMat_5_6));
+             _data_mat[57] = ((real_t)(elMat_5_7));
+             _data_mat[58] = ((real_t)(elMat_5_8));
+             _data_mat[59] = ((real_t)(elMat_5_9));
+             _data_mat[60] = ((real_t)(elMat_6_0));
+             _data_mat[61] = ((real_t)(elMat_6_1));
+             _data_mat[62] = ((real_t)(elMat_6_2));
+             _data_mat[63] = ((real_t)(elMat_6_3));
+             _data_mat[64] = ((real_t)(elMat_6_4));
+             _data_mat[65] = ((real_t)(elMat_6_5));
+             _data_mat[66] = ((real_t)(elMat_6_6));
+             _data_mat[67] = ((real_t)(elMat_6_7));
+             _data_mat[68] = ((real_t)(elMat_6_8));
+             _data_mat[69] = ((real_t)(elMat_6_9));
+             _data_mat[70] = ((real_t)(elMat_7_0));
+             _data_mat[71] = ((real_t)(elMat_7_1));
+             _data_mat[72] = ((real_t)(elMat_7_2));
+             _data_mat[73] = ((real_t)(elMat_7_3));
+             _data_mat[74] = ((real_t)(elMat_7_4));
+             _data_mat[75] = ((real_t)(elMat_7_5));
+             _data_mat[76] = ((real_t)(elMat_7_6));
+             _data_mat[77] = ((real_t)(elMat_7_7));
+             _data_mat[78] = ((real_t)(elMat_7_8));
+             _data_mat[79] = ((real_t)(elMat_7_9));
+             _data_mat[80] = ((real_t)(elMat_8_0));
+             _data_mat[81] = ((real_t)(elMat_8_1));
+             _data_mat[82] = ((real_t)(elMat_8_2));
+             _data_mat[83] = ((real_t)(elMat_8_3));
+             _data_mat[84] = ((real_t)(elMat_8_4));
+             _data_mat[85] = ((real_t)(elMat_8_5));
+             _data_mat[86] = ((real_t)(elMat_8_6));
+             _data_mat[87] = ((real_t)(elMat_8_7));
+             _data_mat[88] = ((real_t)(elMat_8_8));
+             _data_mat[89] = ((real_t)(elMat_8_9));
+             _data_mat[90] = ((real_t)(elMat_9_0));
+             _data_mat[91] = ((real_t)(elMat_9_1));
+             _data_mat[92] = ((real_t)(elMat_9_2));
+             _data_mat[93] = ((real_t)(elMat_9_3));
+             _data_mat[94] = ((real_t)(elMat_9_4));
+             _data_mat[95] = ((real_t)(elMat_9_5));
+             _data_mat[96] = ((real_t)(elMat_9_6));
+             _data_mat[97] = ((real_t)(elMat_9_7));
+             _data_mat[98] = ((real_t)(elMat_9_8));
+             _data_mat[99] = ((real_t)(elMat_9_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 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_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 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_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 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_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 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN;
+       const real_t tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN);
+       const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN);
+       const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN);
+       const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN);
+       const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN);
+       {
+          /* CellType.WHITE_DOWN */
+          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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_WHITE_DOWN*(cp_dof_0*tmp_qloop_21 + cp_dof_1*tmp_qloop_10 + cp_dof_2*tmp_qloop_13 + cp_dof_3*tmp_qloop_16 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_6 + cp_dof_6*tmp_qloop_5 + cp_dof_7*tmp_qloop_17 + cp_dof_8*tmp_qloop_18 + cp_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_21*tmp_qloop_26;
+                const real_t tmp_qloop_28 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_28;
+                const real_t tmp_qloop_30 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_31 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_30 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_30 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_30;
+                const real_t tmp_qloop_32 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_32 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_32 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_32;
+                const real_t tmp_qloop_34 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_35 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_36 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_37 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_38 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_39 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_40 = tmp_qloop_22*(tmp_qloop_34 + tmp_qloop_35) + tmp_qloop_23*(tmp_qloop_36 + tmp_qloop_37) + tmp_qloop_24*(tmp_qloop_38 + tmp_qloop_39);
+                const real_t tmp_qloop_41 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_43 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_47 = tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46);
+                const real_t tmp_qloop_48 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_49 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_50 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_51 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_52 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_53 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_54 = tmp_qloop_22*(tmp_qloop_48 + tmp_qloop_49) + tmp_qloop_23*(tmp_qloop_50 + tmp_qloop_51) + tmp_qloop_24*(tmp_qloop_52 + tmp_qloop_53);
+                const real_t tmp_qloop_55 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_56 = tmp_qloop_22*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_55 - tmp_qloop_35 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_55 - tmp_qloop_37 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_55 - tmp_qloop_39 - tmp_qloop_46);
+                const real_t tmp_qloop_57 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_58 = -tmp_qloop_1 - tmp_qloop_57 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_59 = tmp_qloop_22*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_58 - tmp_qloop_34 - tmp_qloop_49) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_58 - tmp_qloop_36 - tmp_qloop_51) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_53);
+                const real_t tmp_qloop_60 = -tmp_qloop_2 - tmp_qloop_57 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_61 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_60 - tmp_qloop_41 - tmp_qloop_48) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_60 - tmp_qloop_43 - tmp_qloop_50) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_60 - tmp_qloop_45 - tmp_qloop_52);
+                const real_t tmp_qloop_62 = tmp_qloop_10*tmp_qloop_26;
+                const real_t tmp_qloop_63 = tmp_qloop_13*tmp_qloop_26;
+                const real_t tmp_qloop_64 = tmp_qloop_16*tmp_qloop_26;
+                const real_t tmp_qloop_65 = tmp_qloop_26*tmp_qloop_7;
+                const real_t tmp_qloop_66 = tmp_qloop_26*tmp_qloop_6;
+                const real_t tmp_qloop_67 = tmp_qloop_26*tmp_qloop_5;
+                const real_t tmp_qloop_68 = tmp_qloop_17*tmp_qloop_26;
+                const real_t tmp_qloop_69 = tmp_qloop_18*tmp_qloop_26;
+                const real_t tmp_qloop_70 = tmp_qloop_20*tmp_qloop_26;
+                const real_t q_tmp_0_0 = tmp_qloop_25*tmp_qloop_27;
+                const real_t q_tmp_0_1 = tmp_qloop_27*tmp_qloop_29;
+                const real_t q_tmp_0_2 = tmp_qloop_27*tmp_qloop_31;
+                const real_t q_tmp_0_3 = tmp_qloop_27*tmp_qloop_33;
+                const real_t q_tmp_0_4 = tmp_qloop_27*tmp_qloop_40;
+                const real_t q_tmp_0_5 = tmp_qloop_27*tmp_qloop_47;
+                const real_t q_tmp_0_6 = tmp_qloop_27*tmp_qloop_54;
+                const real_t q_tmp_0_7 = tmp_qloop_27*tmp_qloop_56;
+                const real_t q_tmp_0_8 = tmp_qloop_27*tmp_qloop_59;
+                const real_t q_tmp_0_9 = tmp_qloop_27*tmp_qloop_61;
+                const real_t q_tmp_1_0 = tmp_qloop_25*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_qloop_29*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_qloop_31*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_qloop_33*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_qloop_40*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_qloop_47*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_qloop_56*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_qloop_61*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_qloop_25*tmp_qloop_63;
+                const real_t q_tmp_2_1 = tmp_qloop_29*tmp_qloop_63;
+                const real_t q_tmp_2_2 = tmp_qloop_31*tmp_qloop_63;
+                const real_t q_tmp_2_3 = tmp_qloop_33*tmp_qloop_63;
+                const real_t q_tmp_2_4 = tmp_qloop_40*tmp_qloop_63;
+                const real_t q_tmp_2_5 = tmp_qloop_47*tmp_qloop_63;
+                const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_63;
+                const real_t q_tmp_2_7 = tmp_qloop_56*tmp_qloop_63;
+                const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_63;
+                const real_t q_tmp_2_9 = tmp_qloop_61*tmp_qloop_63;
+                const real_t q_tmp_3_0 = tmp_qloop_25*tmp_qloop_64;
+                const real_t q_tmp_3_1 = tmp_qloop_29*tmp_qloop_64;
+                const real_t q_tmp_3_2 = tmp_qloop_31*tmp_qloop_64;
+                const real_t q_tmp_3_3 = tmp_qloop_33*tmp_qloop_64;
+                const real_t q_tmp_3_4 = tmp_qloop_40*tmp_qloop_64;
+                const real_t q_tmp_3_5 = tmp_qloop_47*tmp_qloop_64;
+                const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_64;
+                const real_t q_tmp_3_7 = tmp_qloop_56*tmp_qloop_64;
+                const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_64;
+                const real_t q_tmp_3_9 = tmp_qloop_61*tmp_qloop_64;
+                const real_t q_tmp_4_0 = tmp_qloop_25*tmp_qloop_65;
+                const real_t q_tmp_4_1 = tmp_qloop_29*tmp_qloop_65;
+                const real_t q_tmp_4_2 = tmp_qloop_31*tmp_qloop_65;
+                const real_t q_tmp_4_3 = tmp_qloop_33*tmp_qloop_65;
+                const real_t q_tmp_4_4 = tmp_qloop_40*tmp_qloop_65;
+                const real_t q_tmp_4_5 = tmp_qloop_47*tmp_qloop_65;
+                const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_65;
+                const real_t q_tmp_4_7 = tmp_qloop_56*tmp_qloop_65;
+                const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_65;
+                const real_t q_tmp_4_9 = tmp_qloop_61*tmp_qloop_65;
+                const real_t q_tmp_5_0 = tmp_qloop_25*tmp_qloop_66;
+                const real_t q_tmp_5_1 = tmp_qloop_29*tmp_qloop_66;
+                const real_t q_tmp_5_2 = tmp_qloop_31*tmp_qloop_66;
+                const real_t q_tmp_5_3 = tmp_qloop_33*tmp_qloop_66;
+                const real_t q_tmp_5_4 = tmp_qloop_40*tmp_qloop_66;
+                const real_t q_tmp_5_5 = tmp_qloop_47*tmp_qloop_66;
+                const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_66;
+                const real_t q_tmp_5_7 = tmp_qloop_56*tmp_qloop_66;
+                const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_66;
+                const real_t q_tmp_5_9 = tmp_qloop_61*tmp_qloop_66;
+                const real_t q_tmp_6_0 = tmp_qloop_25*tmp_qloop_67;
+                const real_t q_tmp_6_1 = tmp_qloop_29*tmp_qloop_67;
+                const real_t q_tmp_6_2 = tmp_qloop_31*tmp_qloop_67;
+                const real_t q_tmp_6_3 = tmp_qloop_33*tmp_qloop_67;
+                const real_t q_tmp_6_4 = tmp_qloop_40*tmp_qloop_67;
+                const real_t q_tmp_6_5 = tmp_qloop_47*tmp_qloop_67;
+                const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_67;
+                const real_t q_tmp_6_7 = tmp_qloop_56*tmp_qloop_67;
+                const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_67;
+                const real_t q_tmp_6_9 = tmp_qloop_61*tmp_qloop_67;
+                const real_t q_tmp_7_0 = tmp_qloop_25*tmp_qloop_68;
+                const real_t q_tmp_7_1 = tmp_qloop_29*tmp_qloop_68;
+                const real_t q_tmp_7_2 = tmp_qloop_31*tmp_qloop_68;
+                const real_t q_tmp_7_3 = tmp_qloop_33*tmp_qloop_68;
+                const real_t q_tmp_7_4 = tmp_qloop_40*tmp_qloop_68;
+                const real_t q_tmp_7_5 = tmp_qloop_47*tmp_qloop_68;
+                const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_68;
+                const real_t q_tmp_7_7 = tmp_qloop_56*tmp_qloop_68;
+                const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_68;
+                const real_t q_tmp_7_9 = tmp_qloop_61*tmp_qloop_68;
+                const real_t q_tmp_8_0 = tmp_qloop_25*tmp_qloop_69;
+                const real_t q_tmp_8_1 = tmp_qloop_29*tmp_qloop_69;
+                const real_t q_tmp_8_2 = tmp_qloop_31*tmp_qloop_69;
+                const real_t q_tmp_8_3 = tmp_qloop_33*tmp_qloop_69;
+                const real_t q_tmp_8_4 = tmp_qloop_40*tmp_qloop_69;
+                const real_t q_tmp_8_5 = tmp_qloop_47*tmp_qloop_69;
+                const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_69;
+                const real_t q_tmp_8_7 = tmp_qloop_56*tmp_qloop_69;
+                const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_69;
+                const real_t q_tmp_8_9 = tmp_qloop_61*tmp_qloop_69;
+                const real_t q_tmp_9_0 = tmp_qloop_25*tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_29*tmp_qloop_70;
+                const real_t q_tmp_9_2 = tmp_qloop_31*tmp_qloop_70;
+                const real_t q_tmp_9_3 = tmp_qloop_33*tmp_qloop_70;
+                const real_t q_tmp_9_4 = tmp_qloop_40*tmp_qloop_70;
+                const real_t q_tmp_9_5 = tmp_qloop_47*tmp_qloop_70;
+                const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_70;
+                const real_t q_tmp_9_7 = tmp_qloop_56*tmp_qloop_70;
+                const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_70;
+                const real_t q_tmp_9_9 = tmp_qloop_61*tmp_qloop_70;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMat_4_0 = q_acc_4_0;
+             const real_t elMat_4_1 = q_acc_4_1;
+             const real_t elMat_4_2 = q_acc_4_2;
+             const real_t elMat_4_3 = q_acc_4_3;
+             const real_t elMat_4_4 = q_acc_4_4;
+             const real_t elMat_4_5 = q_acc_4_5;
+             const real_t elMat_4_6 = q_acc_4_6;
+             const real_t elMat_4_7 = q_acc_4_7;
+             const real_t elMat_4_8 = q_acc_4_8;
+             const real_t elMat_4_9 = q_acc_4_9;
+             const real_t elMat_5_0 = q_acc_5_0;
+             const real_t elMat_5_1 = q_acc_5_1;
+             const real_t elMat_5_2 = q_acc_5_2;
+             const real_t elMat_5_3 = q_acc_5_3;
+             const real_t elMat_5_4 = q_acc_5_4;
+             const real_t elMat_5_5 = q_acc_5_5;
+             const real_t elMat_5_6 = q_acc_5_6;
+             const real_t elMat_5_7 = q_acc_5_7;
+             const real_t elMat_5_8 = q_acc_5_8;
+             const real_t elMat_5_9 = q_acc_5_9;
+             const real_t elMat_6_0 = q_acc_6_0;
+             const real_t elMat_6_1 = q_acc_6_1;
+             const real_t elMat_6_2 = q_acc_6_2;
+             const real_t elMat_6_3 = q_acc_6_3;
+             const real_t elMat_6_4 = q_acc_6_4;
+             const real_t elMat_6_5 = q_acc_6_5;
+             const real_t elMat_6_6 = q_acc_6_6;
+             const real_t elMat_6_7 = q_acc_6_7;
+             const real_t elMat_6_8 = q_acc_6_8;
+             const real_t elMat_6_9 = q_acc_6_9;
+             const real_t elMat_7_0 = q_acc_7_0;
+             const real_t elMat_7_1 = q_acc_7_1;
+             const real_t elMat_7_2 = q_acc_7_2;
+             const real_t elMat_7_3 = q_acc_7_3;
+             const real_t elMat_7_4 = q_acc_7_4;
+             const real_t elMat_7_5 = q_acc_7_5;
+             const real_t elMat_7_6 = q_acc_7_6;
+             const real_t elMat_7_7 = q_acc_7_7;
+             const real_t elMat_7_8 = q_acc_7_8;
+             const real_t elMat_7_9 = q_acc_7_9;
+             const real_t elMat_8_0 = q_acc_8_0;
+             const real_t elMat_8_1 = q_acc_8_1;
+             const real_t elMat_8_2 = q_acc_8_2;
+             const real_t elMat_8_3 = q_acc_8_3;
+             const real_t elMat_8_4 = q_acc_8_4;
+             const real_t elMat_8_5 = q_acc_8_5;
+             const real_t elMat_8_6 = q_acc_8_6;
+             const real_t elMat_8_7 = q_acc_8_7;
+             const real_t elMat_8_8 = q_acc_8_8;
+             const real_t elMat_8_9 = q_acc_8_9;
+             const real_t elMat_9_0 = q_acc_9_0;
+             const real_t elMat_9_1 = q_acc_9_1;
+             const real_t elMat_9_2 = q_acc_9_2;
+             const real_t elMat_9_3 = q_acc_9_3;
+             const real_t elMat_9_4 = q_acc_9_4;
+             const real_t elMat_9_5 = q_acc_9_5;
+             const real_t elMat_9_6 = q_acc_9_6;
+             const real_t elMat_9_7 = q_acc_9_7;
+             const real_t elMat_9_8 = q_acc_9_8;
+             const real_t elMat_9_9 = q_acc_9_9;
+         
+             std::vector< uint_t > _data_rowIdx( 10 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 100 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_rowIdx[4] = ((uint64_t)(_data_dstEdge[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_rowIdx[5] = ((uint64_t)(_data_dstEdge[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_rowIdx[6] = ((uint64_t)(_data_dstEdge[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_rowIdx[7] = ((uint64_t)(_data_dstEdge[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_rowIdx[8] = ((uint64_t)(_data_dstEdge[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_rowIdx[9] = ((uint64_t)(_data_dstEdge[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[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));
+             _data_mat[40] = ((real_t)(elMat_4_0));
+             _data_mat[41] = ((real_t)(elMat_4_1));
+             _data_mat[42] = ((real_t)(elMat_4_2));
+             _data_mat[43] = ((real_t)(elMat_4_3));
+             _data_mat[44] = ((real_t)(elMat_4_4));
+             _data_mat[45] = ((real_t)(elMat_4_5));
+             _data_mat[46] = ((real_t)(elMat_4_6));
+             _data_mat[47] = ((real_t)(elMat_4_7));
+             _data_mat[48] = ((real_t)(elMat_4_8));
+             _data_mat[49] = ((real_t)(elMat_4_9));
+             _data_mat[50] = ((real_t)(elMat_5_0));
+             _data_mat[51] = ((real_t)(elMat_5_1));
+             _data_mat[52] = ((real_t)(elMat_5_2));
+             _data_mat[53] = ((real_t)(elMat_5_3));
+             _data_mat[54] = ((real_t)(elMat_5_4));
+             _data_mat[55] = ((real_t)(elMat_5_5));
+             _data_mat[56] = ((real_t)(elMat_5_6));
+             _data_mat[57] = ((real_t)(elMat_5_7));
+             _data_mat[58] = ((real_t)(elMat_5_8));
+             _data_mat[59] = ((real_t)(elMat_5_9));
+             _data_mat[60] = ((real_t)(elMat_6_0));
+             _data_mat[61] = ((real_t)(elMat_6_1));
+             _data_mat[62] = ((real_t)(elMat_6_2));
+             _data_mat[63] = ((real_t)(elMat_6_3));
+             _data_mat[64] = ((real_t)(elMat_6_4));
+             _data_mat[65] = ((real_t)(elMat_6_5));
+             _data_mat[66] = ((real_t)(elMat_6_6));
+             _data_mat[67] = ((real_t)(elMat_6_7));
+             _data_mat[68] = ((real_t)(elMat_6_8));
+             _data_mat[69] = ((real_t)(elMat_6_9));
+             _data_mat[70] = ((real_t)(elMat_7_0));
+             _data_mat[71] = ((real_t)(elMat_7_1));
+             _data_mat[72] = ((real_t)(elMat_7_2));
+             _data_mat[73] = ((real_t)(elMat_7_3));
+             _data_mat[74] = ((real_t)(elMat_7_4));
+             _data_mat[75] = ((real_t)(elMat_7_5));
+             _data_mat[76] = ((real_t)(elMat_7_6));
+             _data_mat[77] = ((real_t)(elMat_7_7));
+             _data_mat[78] = ((real_t)(elMat_7_8));
+             _data_mat[79] = ((real_t)(elMat_7_9));
+             _data_mat[80] = ((real_t)(elMat_8_0));
+             _data_mat[81] = ((real_t)(elMat_8_1));
+             _data_mat[82] = ((real_t)(elMat_8_2));
+             _data_mat[83] = ((real_t)(elMat_8_3));
+             _data_mat[84] = ((real_t)(elMat_8_4));
+             _data_mat[85] = ((real_t)(elMat_8_5));
+             _data_mat[86] = ((real_t)(elMat_8_6));
+             _data_mat[87] = ((real_t)(elMat_8_7));
+             _data_mat[88] = ((real_t)(elMat_8_8));
+             _data_mat[89] = ((real_t)(elMat_8_9));
+             _data_mat[90] = ((real_t)(elMat_9_0));
+             _data_mat[91] = ((real_t)(elMat_9_1));
+             _data_mat[92] = ((real_t)(elMat_9_2));
+             _data_mat[93] = ((real_t)(elMat_9_3));
+             _data_mat[94] = ((real_t)(elMat_9_4));
+             _data_mat[95] = ((real_t)(elMat_9_5));
+             _data_mat[96] = ((real_t)(elMat_9_6));
+             _data_mat[97] = ((real_t)(elMat_9_7));
+             _data_mat[98] = ((real_t)(elMat_9_8));
+             _data_mat[99] = ((real_t)(elMat_9_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 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_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 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_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 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_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 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP;
+       const real_t tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP);
+       const real_t jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP);
+       const real_t jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP);
+       const real_t jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP);
+       const real_t jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP);
+       {
+          /* CellType.BLUE_UP */
+          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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_BLUE_UP*(cp_dof_0*tmp_qloop_21 + cp_dof_1*tmp_qloop_10 + cp_dof_2*tmp_qloop_13 + cp_dof_3*tmp_qloop_16 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_6 + cp_dof_6*tmp_qloop_5 + cp_dof_7*tmp_qloop_17 + cp_dof_8*tmp_qloop_18 + cp_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_21*tmp_qloop_26;
+                const real_t tmp_qloop_28 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_0_1_BLUE_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_0_2_BLUE_UP*tmp_qloop_24*tmp_qloop_28;
+                const real_t tmp_qloop_30 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_31 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_22*tmp_qloop_30 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_23*tmp_qloop_30 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_24*tmp_qloop_30;
+                const real_t tmp_qloop_32 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_22*tmp_qloop_32 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_23*tmp_qloop_32 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_24*tmp_qloop_32;
+                const real_t tmp_qloop_34 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_35 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_36 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_37 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_38 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_39 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_40 = tmp_qloop_22*(tmp_qloop_34 + tmp_qloop_35) + tmp_qloop_23*(tmp_qloop_36 + tmp_qloop_37) + tmp_qloop_24*(tmp_qloop_38 + tmp_qloop_39);
+                const real_t tmp_qloop_41 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_43 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_47 = tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46);
+                const real_t tmp_qloop_48 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_49 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_50 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_51 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_52 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_53 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_54 = tmp_qloop_22*(tmp_qloop_48 + tmp_qloop_49) + tmp_qloop_23*(tmp_qloop_50 + tmp_qloop_51) + tmp_qloop_24*(tmp_qloop_52 + tmp_qloop_53);
+                const real_t tmp_qloop_55 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_56 = tmp_qloop_22*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_55 - tmp_qloop_35 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_55 - tmp_qloop_37 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_55 - tmp_qloop_39 - tmp_qloop_46);
+                const real_t tmp_qloop_57 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_58 = -tmp_qloop_1 - tmp_qloop_57 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_59 = tmp_qloop_22*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_58 - tmp_qloop_34 - tmp_qloop_49) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_58 - tmp_qloop_36 - tmp_qloop_51) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_53);
+                const real_t tmp_qloop_60 = -tmp_qloop_2 - tmp_qloop_57 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_61 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_60 - tmp_qloop_41 - tmp_qloop_48) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_60 - tmp_qloop_43 - tmp_qloop_50) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_60 - tmp_qloop_45 - tmp_qloop_52);
+                const real_t tmp_qloop_62 = tmp_qloop_10*tmp_qloop_26;
+                const real_t tmp_qloop_63 = tmp_qloop_13*tmp_qloop_26;
+                const real_t tmp_qloop_64 = tmp_qloop_16*tmp_qloop_26;
+                const real_t tmp_qloop_65 = tmp_qloop_26*tmp_qloop_7;
+                const real_t tmp_qloop_66 = tmp_qloop_26*tmp_qloop_6;
+                const real_t tmp_qloop_67 = tmp_qloop_26*tmp_qloop_5;
+                const real_t tmp_qloop_68 = tmp_qloop_17*tmp_qloop_26;
+                const real_t tmp_qloop_69 = tmp_qloop_18*tmp_qloop_26;
+                const real_t tmp_qloop_70 = tmp_qloop_20*tmp_qloop_26;
+                const real_t q_tmp_0_0 = tmp_qloop_25*tmp_qloop_27;
+                const real_t q_tmp_0_1 = tmp_qloop_27*tmp_qloop_29;
+                const real_t q_tmp_0_2 = tmp_qloop_27*tmp_qloop_31;
+                const real_t q_tmp_0_3 = tmp_qloop_27*tmp_qloop_33;
+                const real_t q_tmp_0_4 = tmp_qloop_27*tmp_qloop_40;
+                const real_t q_tmp_0_5 = tmp_qloop_27*tmp_qloop_47;
+                const real_t q_tmp_0_6 = tmp_qloop_27*tmp_qloop_54;
+                const real_t q_tmp_0_7 = tmp_qloop_27*tmp_qloop_56;
+                const real_t q_tmp_0_8 = tmp_qloop_27*tmp_qloop_59;
+                const real_t q_tmp_0_9 = tmp_qloop_27*tmp_qloop_61;
+                const real_t q_tmp_1_0 = tmp_qloop_25*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_qloop_29*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_qloop_31*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_qloop_33*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_qloop_40*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_qloop_47*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_qloop_56*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_qloop_61*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_qloop_25*tmp_qloop_63;
+                const real_t q_tmp_2_1 = tmp_qloop_29*tmp_qloop_63;
+                const real_t q_tmp_2_2 = tmp_qloop_31*tmp_qloop_63;
+                const real_t q_tmp_2_3 = tmp_qloop_33*tmp_qloop_63;
+                const real_t q_tmp_2_4 = tmp_qloop_40*tmp_qloop_63;
+                const real_t q_tmp_2_5 = tmp_qloop_47*tmp_qloop_63;
+                const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_63;
+                const real_t q_tmp_2_7 = tmp_qloop_56*tmp_qloop_63;
+                const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_63;
+                const real_t q_tmp_2_9 = tmp_qloop_61*tmp_qloop_63;
+                const real_t q_tmp_3_0 = tmp_qloop_25*tmp_qloop_64;
+                const real_t q_tmp_3_1 = tmp_qloop_29*tmp_qloop_64;
+                const real_t q_tmp_3_2 = tmp_qloop_31*tmp_qloop_64;
+                const real_t q_tmp_3_3 = tmp_qloop_33*tmp_qloop_64;
+                const real_t q_tmp_3_4 = tmp_qloop_40*tmp_qloop_64;
+                const real_t q_tmp_3_5 = tmp_qloop_47*tmp_qloop_64;
+                const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_64;
+                const real_t q_tmp_3_7 = tmp_qloop_56*tmp_qloop_64;
+                const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_64;
+                const real_t q_tmp_3_9 = tmp_qloop_61*tmp_qloop_64;
+                const real_t q_tmp_4_0 = tmp_qloop_25*tmp_qloop_65;
+                const real_t q_tmp_4_1 = tmp_qloop_29*tmp_qloop_65;
+                const real_t q_tmp_4_2 = tmp_qloop_31*tmp_qloop_65;
+                const real_t q_tmp_4_3 = tmp_qloop_33*tmp_qloop_65;
+                const real_t q_tmp_4_4 = tmp_qloop_40*tmp_qloop_65;
+                const real_t q_tmp_4_5 = tmp_qloop_47*tmp_qloop_65;
+                const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_65;
+                const real_t q_tmp_4_7 = tmp_qloop_56*tmp_qloop_65;
+                const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_65;
+                const real_t q_tmp_4_9 = tmp_qloop_61*tmp_qloop_65;
+                const real_t q_tmp_5_0 = tmp_qloop_25*tmp_qloop_66;
+                const real_t q_tmp_5_1 = tmp_qloop_29*tmp_qloop_66;
+                const real_t q_tmp_5_2 = tmp_qloop_31*tmp_qloop_66;
+                const real_t q_tmp_5_3 = tmp_qloop_33*tmp_qloop_66;
+                const real_t q_tmp_5_4 = tmp_qloop_40*tmp_qloop_66;
+                const real_t q_tmp_5_5 = tmp_qloop_47*tmp_qloop_66;
+                const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_66;
+                const real_t q_tmp_5_7 = tmp_qloop_56*tmp_qloop_66;
+                const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_66;
+                const real_t q_tmp_5_9 = tmp_qloop_61*tmp_qloop_66;
+                const real_t q_tmp_6_0 = tmp_qloop_25*tmp_qloop_67;
+                const real_t q_tmp_6_1 = tmp_qloop_29*tmp_qloop_67;
+                const real_t q_tmp_6_2 = tmp_qloop_31*tmp_qloop_67;
+                const real_t q_tmp_6_3 = tmp_qloop_33*tmp_qloop_67;
+                const real_t q_tmp_6_4 = tmp_qloop_40*tmp_qloop_67;
+                const real_t q_tmp_6_5 = tmp_qloop_47*tmp_qloop_67;
+                const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_67;
+                const real_t q_tmp_6_7 = tmp_qloop_56*tmp_qloop_67;
+                const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_67;
+                const real_t q_tmp_6_9 = tmp_qloop_61*tmp_qloop_67;
+                const real_t q_tmp_7_0 = tmp_qloop_25*tmp_qloop_68;
+                const real_t q_tmp_7_1 = tmp_qloop_29*tmp_qloop_68;
+                const real_t q_tmp_7_2 = tmp_qloop_31*tmp_qloop_68;
+                const real_t q_tmp_7_3 = tmp_qloop_33*tmp_qloop_68;
+                const real_t q_tmp_7_4 = tmp_qloop_40*tmp_qloop_68;
+                const real_t q_tmp_7_5 = tmp_qloop_47*tmp_qloop_68;
+                const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_68;
+                const real_t q_tmp_7_7 = tmp_qloop_56*tmp_qloop_68;
+                const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_68;
+                const real_t q_tmp_7_9 = tmp_qloop_61*tmp_qloop_68;
+                const real_t q_tmp_8_0 = tmp_qloop_25*tmp_qloop_69;
+                const real_t q_tmp_8_1 = tmp_qloop_29*tmp_qloop_69;
+                const real_t q_tmp_8_2 = tmp_qloop_31*tmp_qloop_69;
+                const real_t q_tmp_8_3 = tmp_qloop_33*tmp_qloop_69;
+                const real_t q_tmp_8_4 = tmp_qloop_40*tmp_qloop_69;
+                const real_t q_tmp_8_5 = tmp_qloop_47*tmp_qloop_69;
+                const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_69;
+                const real_t q_tmp_8_7 = tmp_qloop_56*tmp_qloop_69;
+                const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_69;
+                const real_t q_tmp_8_9 = tmp_qloop_61*tmp_qloop_69;
+                const real_t q_tmp_9_0 = tmp_qloop_25*tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_29*tmp_qloop_70;
+                const real_t q_tmp_9_2 = tmp_qloop_31*tmp_qloop_70;
+                const real_t q_tmp_9_3 = tmp_qloop_33*tmp_qloop_70;
+                const real_t q_tmp_9_4 = tmp_qloop_40*tmp_qloop_70;
+                const real_t q_tmp_9_5 = tmp_qloop_47*tmp_qloop_70;
+                const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_70;
+                const real_t q_tmp_9_7 = tmp_qloop_56*tmp_qloop_70;
+                const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_70;
+                const real_t q_tmp_9_9 = tmp_qloop_61*tmp_qloop_70;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMat_4_0 = q_acc_4_0;
+             const real_t elMat_4_1 = q_acc_4_1;
+             const real_t elMat_4_2 = q_acc_4_2;
+             const real_t elMat_4_3 = q_acc_4_3;
+             const real_t elMat_4_4 = q_acc_4_4;
+             const real_t elMat_4_5 = q_acc_4_5;
+             const real_t elMat_4_6 = q_acc_4_6;
+             const real_t elMat_4_7 = q_acc_4_7;
+             const real_t elMat_4_8 = q_acc_4_8;
+             const real_t elMat_4_9 = q_acc_4_9;
+             const real_t elMat_5_0 = q_acc_5_0;
+             const real_t elMat_5_1 = q_acc_5_1;
+             const real_t elMat_5_2 = q_acc_5_2;
+             const real_t elMat_5_3 = q_acc_5_3;
+             const real_t elMat_5_4 = q_acc_5_4;
+             const real_t elMat_5_5 = q_acc_5_5;
+             const real_t elMat_5_6 = q_acc_5_6;
+             const real_t elMat_5_7 = q_acc_5_7;
+             const real_t elMat_5_8 = q_acc_5_8;
+             const real_t elMat_5_9 = q_acc_5_9;
+             const real_t elMat_6_0 = q_acc_6_0;
+             const real_t elMat_6_1 = q_acc_6_1;
+             const real_t elMat_6_2 = q_acc_6_2;
+             const real_t elMat_6_3 = q_acc_6_3;
+             const real_t elMat_6_4 = q_acc_6_4;
+             const real_t elMat_6_5 = q_acc_6_5;
+             const real_t elMat_6_6 = q_acc_6_6;
+             const real_t elMat_6_7 = q_acc_6_7;
+             const real_t elMat_6_8 = q_acc_6_8;
+             const real_t elMat_6_9 = q_acc_6_9;
+             const real_t elMat_7_0 = q_acc_7_0;
+             const real_t elMat_7_1 = q_acc_7_1;
+             const real_t elMat_7_2 = q_acc_7_2;
+             const real_t elMat_7_3 = q_acc_7_3;
+             const real_t elMat_7_4 = q_acc_7_4;
+             const real_t elMat_7_5 = q_acc_7_5;
+             const real_t elMat_7_6 = q_acc_7_6;
+             const real_t elMat_7_7 = q_acc_7_7;
+             const real_t elMat_7_8 = q_acc_7_8;
+             const real_t elMat_7_9 = q_acc_7_9;
+             const real_t elMat_8_0 = q_acc_8_0;
+             const real_t elMat_8_1 = q_acc_8_1;
+             const real_t elMat_8_2 = q_acc_8_2;
+             const real_t elMat_8_3 = q_acc_8_3;
+             const real_t elMat_8_4 = q_acc_8_4;
+             const real_t elMat_8_5 = q_acc_8_5;
+             const real_t elMat_8_6 = q_acc_8_6;
+             const real_t elMat_8_7 = q_acc_8_7;
+             const real_t elMat_8_8 = q_acc_8_8;
+             const real_t elMat_8_9 = q_acc_8_9;
+             const real_t elMat_9_0 = q_acc_9_0;
+             const real_t elMat_9_1 = q_acc_9_1;
+             const real_t elMat_9_2 = q_acc_9_2;
+             const real_t elMat_9_3 = q_acc_9_3;
+             const real_t elMat_9_4 = q_acc_9_4;
+             const real_t elMat_9_5 = q_acc_9_5;
+             const real_t elMat_9_6 = q_acc_9_6;
+             const real_t elMat_9_7 = q_acc_9_7;
+             const real_t elMat_9_8 = q_acc_9_8;
+             const real_t elMat_9_9 = q_acc_9_9;
+         
+             std::vector< uint_t > _data_rowIdx( 10 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 100 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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[4] = ((uint64_t)(_data_dstEdge[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_rowIdx[5] = ((uint64_t)(_data_dstEdge[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_rowIdx[6] = ((uint64_t)(_data_dstEdge[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_rowIdx[7] = ((uint64_t)(_data_dstEdge[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_rowIdx[8] = ((uint64_t)(_data_dstEdge[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_rowIdx[9] = ((uint64_t)(_data_dstEdge[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[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));
+             _data_mat[40] = ((real_t)(elMat_4_0));
+             _data_mat[41] = ((real_t)(elMat_4_1));
+             _data_mat[42] = ((real_t)(elMat_4_2));
+             _data_mat[43] = ((real_t)(elMat_4_3));
+             _data_mat[44] = ((real_t)(elMat_4_4));
+             _data_mat[45] = ((real_t)(elMat_4_5));
+             _data_mat[46] = ((real_t)(elMat_4_6));
+             _data_mat[47] = ((real_t)(elMat_4_7));
+             _data_mat[48] = ((real_t)(elMat_4_8));
+             _data_mat[49] = ((real_t)(elMat_4_9));
+             _data_mat[50] = ((real_t)(elMat_5_0));
+             _data_mat[51] = ((real_t)(elMat_5_1));
+             _data_mat[52] = ((real_t)(elMat_5_2));
+             _data_mat[53] = ((real_t)(elMat_5_3));
+             _data_mat[54] = ((real_t)(elMat_5_4));
+             _data_mat[55] = ((real_t)(elMat_5_5));
+             _data_mat[56] = ((real_t)(elMat_5_6));
+             _data_mat[57] = ((real_t)(elMat_5_7));
+             _data_mat[58] = ((real_t)(elMat_5_8));
+             _data_mat[59] = ((real_t)(elMat_5_9));
+             _data_mat[60] = ((real_t)(elMat_6_0));
+             _data_mat[61] = ((real_t)(elMat_6_1));
+             _data_mat[62] = ((real_t)(elMat_6_2));
+             _data_mat[63] = ((real_t)(elMat_6_3));
+             _data_mat[64] = ((real_t)(elMat_6_4));
+             _data_mat[65] = ((real_t)(elMat_6_5));
+             _data_mat[66] = ((real_t)(elMat_6_6));
+             _data_mat[67] = ((real_t)(elMat_6_7));
+             _data_mat[68] = ((real_t)(elMat_6_8));
+             _data_mat[69] = ((real_t)(elMat_6_9));
+             _data_mat[70] = ((real_t)(elMat_7_0));
+             _data_mat[71] = ((real_t)(elMat_7_1));
+             _data_mat[72] = ((real_t)(elMat_7_2));
+             _data_mat[73] = ((real_t)(elMat_7_3));
+             _data_mat[74] = ((real_t)(elMat_7_4));
+             _data_mat[75] = ((real_t)(elMat_7_5));
+             _data_mat[76] = ((real_t)(elMat_7_6));
+             _data_mat[77] = ((real_t)(elMat_7_7));
+             _data_mat[78] = ((real_t)(elMat_7_8));
+             _data_mat[79] = ((real_t)(elMat_7_9));
+             _data_mat[80] = ((real_t)(elMat_8_0));
+             _data_mat[81] = ((real_t)(elMat_8_1));
+             _data_mat[82] = ((real_t)(elMat_8_2));
+             _data_mat[83] = ((real_t)(elMat_8_3));
+             _data_mat[84] = ((real_t)(elMat_8_4));
+             _data_mat[85] = ((real_t)(elMat_8_5));
+             _data_mat[86] = ((real_t)(elMat_8_6));
+             _data_mat[87] = ((real_t)(elMat_8_7));
+             _data_mat[88] = ((real_t)(elMat_8_8));
+             _data_mat[89] = ((real_t)(elMat_8_9));
+             _data_mat[90] = ((real_t)(elMat_9_0));
+             _data_mat[91] = ((real_t)(elMat_9_1));
+             _data_mat[92] = ((real_t)(elMat_9_2));
+             _data_mat[93] = ((real_t)(elMat_9_3));
+             _data_mat[94] = ((real_t)(elMat_9_4));
+             _data_mat[95] = ((real_t)(elMat_9_5));
+             _data_mat[96] = ((real_t)(elMat_9_6));
+             _data_mat[97] = ((real_t)(elMat_9_7));
+             _data_mat[98] = ((real_t)(elMat_9_8));
+             _data_mat[99] = ((real_t)(elMat_9_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 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_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 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN;
+       const real_t tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN);
+       const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN);
+       const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN);
+       const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN);
+       const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN);
+       {
+          /* CellType.BLUE_DOWN */
+          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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_BLUE_DOWN*(cp_dof_0*tmp_qloop_21 + cp_dof_1*tmp_qloop_10 + cp_dof_2*tmp_qloop_13 + cp_dof_3*tmp_qloop_16 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_6 + cp_dof_6*tmp_qloop_5 + cp_dof_7*tmp_qloop_17 + cp_dof_8*tmp_qloop_18 + cp_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_21*tmp_qloop_26;
+                const real_t tmp_qloop_28 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_28;
+                const real_t tmp_qloop_30 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_31 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_30 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_30 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_30;
+                const real_t tmp_qloop_32 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_32 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_32 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_32;
+                const real_t tmp_qloop_34 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_35 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_36 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_37 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_38 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_39 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_40 = tmp_qloop_22*(tmp_qloop_34 + tmp_qloop_35) + tmp_qloop_23*(tmp_qloop_36 + tmp_qloop_37) + tmp_qloop_24*(tmp_qloop_38 + tmp_qloop_39);
+                const real_t tmp_qloop_41 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_43 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_47 = tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46);
+                const real_t tmp_qloop_48 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_49 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_50 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_51 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_52 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_53 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_54 = tmp_qloop_22*(tmp_qloop_48 + tmp_qloop_49) + tmp_qloop_23*(tmp_qloop_50 + tmp_qloop_51) + tmp_qloop_24*(tmp_qloop_52 + tmp_qloop_53);
+                const real_t tmp_qloop_55 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_56 = tmp_qloop_22*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_55 - tmp_qloop_35 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_55 - tmp_qloop_37 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_55 - tmp_qloop_39 - tmp_qloop_46);
+                const real_t tmp_qloop_57 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_58 = -tmp_qloop_1 - tmp_qloop_57 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_59 = tmp_qloop_22*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_58 - tmp_qloop_34 - tmp_qloop_49) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_58 - tmp_qloop_36 - tmp_qloop_51) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_53);
+                const real_t tmp_qloop_60 = -tmp_qloop_2 - tmp_qloop_57 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_61 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_60 - tmp_qloop_41 - tmp_qloop_48) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_60 - tmp_qloop_43 - tmp_qloop_50) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_60 - tmp_qloop_45 - tmp_qloop_52);
+                const real_t tmp_qloop_62 = tmp_qloop_10*tmp_qloop_26;
+                const real_t tmp_qloop_63 = tmp_qloop_13*tmp_qloop_26;
+                const real_t tmp_qloop_64 = tmp_qloop_16*tmp_qloop_26;
+                const real_t tmp_qloop_65 = tmp_qloop_26*tmp_qloop_7;
+                const real_t tmp_qloop_66 = tmp_qloop_26*tmp_qloop_6;
+                const real_t tmp_qloop_67 = tmp_qloop_26*tmp_qloop_5;
+                const real_t tmp_qloop_68 = tmp_qloop_17*tmp_qloop_26;
+                const real_t tmp_qloop_69 = tmp_qloop_18*tmp_qloop_26;
+                const real_t tmp_qloop_70 = tmp_qloop_20*tmp_qloop_26;
+                const real_t q_tmp_0_0 = tmp_qloop_25*tmp_qloop_27;
+                const real_t q_tmp_0_1 = tmp_qloop_27*tmp_qloop_29;
+                const real_t q_tmp_0_2 = tmp_qloop_27*tmp_qloop_31;
+                const real_t q_tmp_0_3 = tmp_qloop_27*tmp_qloop_33;
+                const real_t q_tmp_0_4 = tmp_qloop_27*tmp_qloop_40;
+                const real_t q_tmp_0_5 = tmp_qloop_27*tmp_qloop_47;
+                const real_t q_tmp_0_6 = tmp_qloop_27*tmp_qloop_54;
+                const real_t q_tmp_0_7 = tmp_qloop_27*tmp_qloop_56;
+                const real_t q_tmp_0_8 = tmp_qloop_27*tmp_qloop_59;
+                const real_t q_tmp_0_9 = tmp_qloop_27*tmp_qloop_61;
+                const real_t q_tmp_1_0 = tmp_qloop_25*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_qloop_29*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_qloop_31*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_qloop_33*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_qloop_40*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_qloop_47*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_qloop_56*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_qloop_61*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_qloop_25*tmp_qloop_63;
+                const real_t q_tmp_2_1 = tmp_qloop_29*tmp_qloop_63;
+                const real_t q_tmp_2_2 = tmp_qloop_31*tmp_qloop_63;
+                const real_t q_tmp_2_3 = tmp_qloop_33*tmp_qloop_63;
+                const real_t q_tmp_2_4 = tmp_qloop_40*tmp_qloop_63;
+                const real_t q_tmp_2_5 = tmp_qloop_47*tmp_qloop_63;
+                const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_63;
+                const real_t q_tmp_2_7 = tmp_qloop_56*tmp_qloop_63;
+                const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_63;
+                const real_t q_tmp_2_9 = tmp_qloop_61*tmp_qloop_63;
+                const real_t q_tmp_3_0 = tmp_qloop_25*tmp_qloop_64;
+                const real_t q_tmp_3_1 = tmp_qloop_29*tmp_qloop_64;
+                const real_t q_tmp_3_2 = tmp_qloop_31*tmp_qloop_64;
+                const real_t q_tmp_3_3 = tmp_qloop_33*tmp_qloop_64;
+                const real_t q_tmp_3_4 = tmp_qloop_40*tmp_qloop_64;
+                const real_t q_tmp_3_5 = tmp_qloop_47*tmp_qloop_64;
+                const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_64;
+                const real_t q_tmp_3_7 = tmp_qloop_56*tmp_qloop_64;
+                const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_64;
+                const real_t q_tmp_3_9 = tmp_qloop_61*tmp_qloop_64;
+                const real_t q_tmp_4_0 = tmp_qloop_25*tmp_qloop_65;
+                const real_t q_tmp_4_1 = tmp_qloop_29*tmp_qloop_65;
+                const real_t q_tmp_4_2 = tmp_qloop_31*tmp_qloop_65;
+                const real_t q_tmp_4_3 = tmp_qloop_33*tmp_qloop_65;
+                const real_t q_tmp_4_4 = tmp_qloop_40*tmp_qloop_65;
+                const real_t q_tmp_4_5 = tmp_qloop_47*tmp_qloop_65;
+                const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_65;
+                const real_t q_tmp_4_7 = tmp_qloop_56*tmp_qloop_65;
+                const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_65;
+                const real_t q_tmp_4_9 = tmp_qloop_61*tmp_qloop_65;
+                const real_t q_tmp_5_0 = tmp_qloop_25*tmp_qloop_66;
+                const real_t q_tmp_5_1 = tmp_qloop_29*tmp_qloop_66;
+                const real_t q_tmp_5_2 = tmp_qloop_31*tmp_qloop_66;
+                const real_t q_tmp_5_3 = tmp_qloop_33*tmp_qloop_66;
+                const real_t q_tmp_5_4 = tmp_qloop_40*tmp_qloop_66;
+                const real_t q_tmp_5_5 = tmp_qloop_47*tmp_qloop_66;
+                const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_66;
+                const real_t q_tmp_5_7 = tmp_qloop_56*tmp_qloop_66;
+                const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_66;
+                const real_t q_tmp_5_9 = tmp_qloop_61*tmp_qloop_66;
+                const real_t q_tmp_6_0 = tmp_qloop_25*tmp_qloop_67;
+                const real_t q_tmp_6_1 = tmp_qloop_29*tmp_qloop_67;
+                const real_t q_tmp_6_2 = tmp_qloop_31*tmp_qloop_67;
+                const real_t q_tmp_6_3 = tmp_qloop_33*tmp_qloop_67;
+                const real_t q_tmp_6_4 = tmp_qloop_40*tmp_qloop_67;
+                const real_t q_tmp_6_5 = tmp_qloop_47*tmp_qloop_67;
+                const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_67;
+                const real_t q_tmp_6_7 = tmp_qloop_56*tmp_qloop_67;
+                const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_67;
+                const real_t q_tmp_6_9 = tmp_qloop_61*tmp_qloop_67;
+                const real_t q_tmp_7_0 = tmp_qloop_25*tmp_qloop_68;
+                const real_t q_tmp_7_1 = tmp_qloop_29*tmp_qloop_68;
+                const real_t q_tmp_7_2 = tmp_qloop_31*tmp_qloop_68;
+                const real_t q_tmp_7_3 = tmp_qloop_33*tmp_qloop_68;
+                const real_t q_tmp_7_4 = tmp_qloop_40*tmp_qloop_68;
+                const real_t q_tmp_7_5 = tmp_qloop_47*tmp_qloop_68;
+                const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_68;
+                const real_t q_tmp_7_7 = tmp_qloop_56*tmp_qloop_68;
+                const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_68;
+                const real_t q_tmp_7_9 = tmp_qloop_61*tmp_qloop_68;
+                const real_t q_tmp_8_0 = tmp_qloop_25*tmp_qloop_69;
+                const real_t q_tmp_8_1 = tmp_qloop_29*tmp_qloop_69;
+                const real_t q_tmp_8_2 = tmp_qloop_31*tmp_qloop_69;
+                const real_t q_tmp_8_3 = tmp_qloop_33*tmp_qloop_69;
+                const real_t q_tmp_8_4 = tmp_qloop_40*tmp_qloop_69;
+                const real_t q_tmp_8_5 = tmp_qloop_47*tmp_qloop_69;
+                const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_69;
+                const real_t q_tmp_8_7 = tmp_qloop_56*tmp_qloop_69;
+                const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_69;
+                const real_t q_tmp_8_9 = tmp_qloop_61*tmp_qloop_69;
+                const real_t q_tmp_9_0 = tmp_qloop_25*tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_29*tmp_qloop_70;
+                const real_t q_tmp_9_2 = tmp_qloop_31*tmp_qloop_70;
+                const real_t q_tmp_9_3 = tmp_qloop_33*tmp_qloop_70;
+                const real_t q_tmp_9_4 = tmp_qloop_40*tmp_qloop_70;
+                const real_t q_tmp_9_5 = tmp_qloop_47*tmp_qloop_70;
+                const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_70;
+                const real_t q_tmp_9_7 = tmp_qloop_56*tmp_qloop_70;
+                const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_70;
+                const real_t q_tmp_9_9 = tmp_qloop_61*tmp_qloop_70;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMat_4_0 = q_acc_4_0;
+             const real_t elMat_4_1 = q_acc_4_1;
+             const real_t elMat_4_2 = q_acc_4_2;
+             const real_t elMat_4_3 = q_acc_4_3;
+             const real_t elMat_4_4 = q_acc_4_4;
+             const real_t elMat_4_5 = q_acc_4_5;
+             const real_t elMat_4_6 = q_acc_4_6;
+             const real_t elMat_4_7 = q_acc_4_7;
+             const real_t elMat_4_8 = q_acc_4_8;
+             const real_t elMat_4_9 = q_acc_4_9;
+             const real_t elMat_5_0 = q_acc_5_0;
+             const real_t elMat_5_1 = q_acc_5_1;
+             const real_t elMat_5_2 = q_acc_5_2;
+             const real_t elMat_5_3 = q_acc_5_3;
+             const real_t elMat_5_4 = q_acc_5_4;
+             const real_t elMat_5_5 = q_acc_5_5;
+             const real_t elMat_5_6 = q_acc_5_6;
+             const real_t elMat_5_7 = q_acc_5_7;
+             const real_t elMat_5_8 = q_acc_5_8;
+             const real_t elMat_5_9 = q_acc_5_9;
+             const real_t elMat_6_0 = q_acc_6_0;
+             const real_t elMat_6_1 = q_acc_6_1;
+             const real_t elMat_6_2 = q_acc_6_2;
+             const real_t elMat_6_3 = q_acc_6_3;
+             const real_t elMat_6_4 = q_acc_6_4;
+             const real_t elMat_6_5 = q_acc_6_5;
+             const real_t elMat_6_6 = q_acc_6_6;
+             const real_t elMat_6_7 = q_acc_6_7;
+             const real_t elMat_6_8 = q_acc_6_8;
+             const real_t elMat_6_9 = q_acc_6_9;
+             const real_t elMat_7_0 = q_acc_7_0;
+             const real_t elMat_7_1 = q_acc_7_1;
+             const real_t elMat_7_2 = q_acc_7_2;
+             const real_t elMat_7_3 = q_acc_7_3;
+             const real_t elMat_7_4 = q_acc_7_4;
+             const real_t elMat_7_5 = q_acc_7_5;
+             const real_t elMat_7_6 = q_acc_7_6;
+             const real_t elMat_7_7 = q_acc_7_7;
+             const real_t elMat_7_8 = q_acc_7_8;
+             const real_t elMat_7_9 = q_acc_7_9;
+             const real_t elMat_8_0 = q_acc_8_0;
+             const real_t elMat_8_1 = q_acc_8_1;
+             const real_t elMat_8_2 = q_acc_8_2;
+             const real_t elMat_8_3 = q_acc_8_3;
+             const real_t elMat_8_4 = q_acc_8_4;
+             const real_t elMat_8_5 = q_acc_8_5;
+             const real_t elMat_8_6 = q_acc_8_6;
+             const real_t elMat_8_7 = q_acc_8_7;
+             const real_t elMat_8_8 = q_acc_8_8;
+             const real_t elMat_8_9 = q_acc_8_9;
+             const real_t elMat_9_0 = q_acc_9_0;
+             const real_t elMat_9_1 = q_acc_9_1;
+             const real_t elMat_9_2 = q_acc_9_2;
+             const real_t elMat_9_3 = q_acc_9_3;
+             const real_t elMat_9_4 = q_acc_9_4;
+             const real_t elMat_9_5 = q_acc_9_5;
+             const real_t elMat_9_6 = q_acc_9_6;
+             const real_t elMat_9_7 = q_acc_9_7;
+             const real_t elMat_9_8 = q_acc_9_8;
+             const real_t elMat_9_9 = q_acc_9_9;
+         
+             std::vector< uint_t > _data_rowIdx( 10 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 100 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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[4] = ((uint64_t)(_data_dstEdge[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_rowIdx[5] = ((uint64_t)(_data_dstEdge[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_rowIdx[6] = ((uint64_t)(_data_dstEdge[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_rowIdx[7] = ((uint64_t)(_data_dstEdge[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_rowIdx[8] = ((uint64_t)(_data_dstEdge[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_rowIdx[9] = ((uint64_t)(_data_dstEdge[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[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));
+             _data_mat[40] = ((real_t)(elMat_4_0));
+             _data_mat[41] = ((real_t)(elMat_4_1));
+             _data_mat[42] = ((real_t)(elMat_4_2));
+             _data_mat[43] = ((real_t)(elMat_4_3));
+             _data_mat[44] = ((real_t)(elMat_4_4));
+             _data_mat[45] = ((real_t)(elMat_4_5));
+             _data_mat[46] = ((real_t)(elMat_4_6));
+             _data_mat[47] = ((real_t)(elMat_4_7));
+             _data_mat[48] = ((real_t)(elMat_4_8));
+             _data_mat[49] = ((real_t)(elMat_4_9));
+             _data_mat[50] = ((real_t)(elMat_5_0));
+             _data_mat[51] = ((real_t)(elMat_5_1));
+             _data_mat[52] = ((real_t)(elMat_5_2));
+             _data_mat[53] = ((real_t)(elMat_5_3));
+             _data_mat[54] = ((real_t)(elMat_5_4));
+             _data_mat[55] = ((real_t)(elMat_5_5));
+             _data_mat[56] = ((real_t)(elMat_5_6));
+             _data_mat[57] = ((real_t)(elMat_5_7));
+             _data_mat[58] = ((real_t)(elMat_5_8));
+             _data_mat[59] = ((real_t)(elMat_5_9));
+             _data_mat[60] = ((real_t)(elMat_6_0));
+             _data_mat[61] = ((real_t)(elMat_6_1));
+             _data_mat[62] = ((real_t)(elMat_6_2));
+             _data_mat[63] = ((real_t)(elMat_6_3));
+             _data_mat[64] = ((real_t)(elMat_6_4));
+             _data_mat[65] = ((real_t)(elMat_6_5));
+             _data_mat[66] = ((real_t)(elMat_6_6));
+             _data_mat[67] = ((real_t)(elMat_6_7));
+             _data_mat[68] = ((real_t)(elMat_6_8));
+             _data_mat[69] = ((real_t)(elMat_6_9));
+             _data_mat[70] = ((real_t)(elMat_7_0));
+             _data_mat[71] = ((real_t)(elMat_7_1));
+             _data_mat[72] = ((real_t)(elMat_7_2));
+             _data_mat[73] = ((real_t)(elMat_7_3));
+             _data_mat[74] = ((real_t)(elMat_7_4));
+             _data_mat[75] = ((real_t)(elMat_7_5));
+             _data_mat[76] = ((real_t)(elMat_7_6));
+             _data_mat[77] = ((real_t)(elMat_7_7));
+             _data_mat[78] = ((real_t)(elMat_7_8));
+             _data_mat[79] = ((real_t)(elMat_7_9));
+             _data_mat[80] = ((real_t)(elMat_8_0));
+             _data_mat[81] = ((real_t)(elMat_8_1));
+             _data_mat[82] = ((real_t)(elMat_8_2));
+             _data_mat[83] = ((real_t)(elMat_8_3));
+             _data_mat[84] = ((real_t)(elMat_8_4));
+             _data_mat[85] = ((real_t)(elMat_8_5));
+             _data_mat[86] = ((real_t)(elMat_8_6));
+             _data_mat[87] = ((real_t)(elMat_8_7));
+             _data_mat[88] = ((real_t)(elMat_8_8));
+             _data_mat[89] = ((real_t)(elMat_8_9));
+             _data_mat[90] = ((real_t)(elMat_9_0));
+             _data_mat[91] = ((real_t)(elMat_9_1));
+             _data_mat[92] = ((real_t)(elMat_9_2));
+             _data_mat[93] = ((real_t)(elMat_9_3));
+             _data_mat[94] = ((real_t)(elMat_9_4));
+             _data_mat[95] = ((real_t)(elMat_9_5));
+             _data_mat[96] = ((real_t)(elMat_9_6));
+             _data_mat[97] = ((real_t)(elMat_9_7));
+             _data_mat[98] = ((real_t)(elMat_9_8));
+             _data_mat[99] = ((real_t)(elMat_9_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 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_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 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_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 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_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 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP;
+       const real_t tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP);
+       const real_t jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP);
+       const real_t jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP);
+       const real_t jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP);
+       const real_t jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP);
+       {
+          /* CellType.GREEN_UP */
+          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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_GREEN_UP*(cp_dof_0*tmp_qloop_21 + cp_dof_1*tmp_qloop_10 + cp_dof_2*tmp_qloop_13 + cp_dof_3*tmp_qloop_16 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_6 + cp_dof_6*tmp_qloop_5 + cp_dof_7*tmp_qloop_17 + cp_dof_8*tmp_qloop_18 + cp_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_21*tmp_qloop_26;
+                const real_t tmp_qloop_28 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_0_1_GREEN_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_0_2_GREEN_UP*tmp_qloop_24*tmp_qloop_28;
+                const real_t tmp_qloop_30 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_31 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_22*tmp_qloop_30 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_23*tmp_qloop_30 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_24*tmp_qloop_30;
+                const real_t tmp_qloop_32 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_22*tmp_qloop_32 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_23*tmp_qloop_32 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_24*tmp_qloop_32;
+                const real_t tmp_qloop_34 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_35 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_36 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_37 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_38 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_39 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_40 = tmp_qloop_22*(tmp_qloop_34 + tmp_qloop_35) + tmp_qloop_23*(tmp_qloop_36 + tmp_qloop_37) + tmp_qloop_24*(tmp_qloop_38 + tmp_qloop_39);
+                const real_t tmp_qloop_41 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_43 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_47 = tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46);
+                const real_t tmp_qloop_48 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_49 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_50 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_51 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_52 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_53 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_54 = tmp_qloop_22*(tmp_qloop_48 + tmp_qloop_49) + tmp_qloop_23*(tmp_qloop_50 + tmp_qloop_51) + tmp_qloop_24*(tmp_qloop_52 + tmp_qloop_53);
+                const real_t tmp_qloop_55 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_56 = tmp_qloop_22*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_55 - tmp_qloop_35 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_55 - tmp_qloop_37 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_55 - tmp_qloop_39 - tmp_qloop_46);
+                const real_t tmp_qloop_57 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_58 = -tmp_qloop_1 - tmp_qloop_57 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_59 = tmp_qloop_22*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_58 - tmp_qloop_34 - tmp_qloop_49) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_58 - tmp_qloop_36 - tmp_qloop_51) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_53);
+                const real_t tmp_qloop_60 = -tmp_qloop_2 - tmp_qloop_57 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_61 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_60 - tmp_qloop_41 - tmp_qloop_48) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_60 - tmp_qloop_43 - tmp_qloop_50) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_60 - tmp_qloop_45 - tmp_qloop_52);
+                const real_t tmp_qloop_62 = tmp_qloop_10*tmp_qloop_26;
+                const real_t tmp_qloop_63 = tmp_qloop_13*tmp_qloop_26;
+                const real_t tmp_qloop_64 = tmp_qloop_16*tmp_qloop_26;
+                const real_t tmp_qloop_65 = tmp_qloop_26*tmp_qloop_7;
+                const real_t tmp_qloop_66 = tmp_qloop_26*tmp_qloop_6;
+                const real_t tmp_qloop_67 = tmp_qloop_26*tmp_qloop_5;
+                const real_t tmp_qloop_68 = tmp_qloop_17*tmp_qloop_26;
+                const real_t tmp_qloop_69 = tmp_qloop_18*tmp_qloop_26;
+                const real_t tmp_qloop_70 = tmp_qloop_20*tmp_qloop_26;
+                const real_t q_tmp_0_0 = tmp_qloop_25*tmp_qloop_27;
+                const real_t q_tmp_0_1 = tmp_qloop_27*tmp_qloop_29;
+                const real_t q_tmp_0_2 = tmp_qloop_27*tmp_qloop_31;
+                const real_t q_tmp_0_3 = tmp_qloop_27*tmp_qloop_33;
+                const real_t q_tmp_0_4 = tmp_qloop_27*tmp_qloop_40;
+                const real_t q_tmp_0_5 = tmp_qloop_27*tmp_qloop_47;
+                const real_t q_tmp_0_6 = tmp_qloop_27*tmp_qloop_54;
+                const real_t q_tmp_0_7 = tmp_qloop_27*tmp_qloop_56;
+                const real_t q_tmp_0_8 = tmp_qloop_27*tmp_qloop_59;
+                const real_t q_tmp_0_9 = tmp_qloop_27*tmp_qloop_61;
+                const real_t q_tmp_1_0 = tmp_qloop_25*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_qloop_29*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_qloop_31*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_qloop_33*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_qloop_40*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_qloop_47*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_qloop_56*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_qloop_61*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_qloop_25*tmp_qloop_63;
+                const real_t q_tmp_2_1 = tmp_qloop_29*tmp_qloop_63;
+                const real_t q_tmp_2_2 = tmp_qloop_31*tmp_qloop_63;
+                const real_t q_tmp_2_3 = tmp_qloop_33*tmp_qloop_63;
+                const real_t q_tmp_2_4 = tmp_qloop_40*tmp_qloop_63;
+                const real_t q_tmp_2_5 = tmp_qloop_47*tmp_qloop_63;
+                const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_63;
+                const real_t q_tmp_2_7 = tmp_qloop_56*tmp_qloop_63;
+                const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_63;
+                const real_t q_tmp_2_9 = tmp_qloop_61*tmp_qloop_63;
+                const real_t q_tmp_3_0 = tmp_qloop_25*tmp_qloop_64;
+                const real_t q_tmp_3_1 = tmp_qloop_29*tmp_qloop_64;
+                const real_t q_tmp_3_2 = tmp_qloop_31*tmp_qloop_64;
+                const real_t q_tmp_3_3 = tmp_qloop_33*tmp_qloop_64;
+                const real_t q_tmp_3_4 = tmp_qloop_40*tmp_qloop_64;
+                const real_t q_tmp_3_5 = tmp_qloop_47*tmp_qloop_64;
+                const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_64;
+                const real_t q_tmp_3_7 = tmp_qloop_56*tmp_qloop_64;
+                const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_64;
+                const real_t q_tmp_3_9 = tmp_qloop_61*tmp_qloop_64;
+                const real_t q_tmp_4_0 = tmp_qloop_25*tmp_qloop_65;
+                const real_t q_tmp_4_1 = tmp_qloop_29*tmp_qloop_65;
+                const real_t q_tmp_4_2 = tmp_qloop_31*tmp_qloop_65;
+                const real_t q_tmp_4_3 = tmp_qloop_33*tmp_qloop_65;
+                const real_t q_tmp_4_4 = tmp_qloop_40*tmp_qloop_65;
+                const real_t q_tmp_4_5 = tmp_qloop_47*tmp_qloop_65;
+                const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_65;
+                const real_t q_tmp_4_7 = tmp_qloop_56*tmp_qloop_65;
+                const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_65;
+                const real_t q_tmp_4_9 = tmp_qloop_61*tmp_qloop_65;
+                const real_t q_tmp_5_0 = tmp_qloop_25*tmp_qloop_66;
+                const real_t q_tmp_5_1 = tmp_qloop_29*tmp_qloop_66;
+                const real_t q_tmp_5_2 = tmp_qloop_31*tmp_qloop_66;
+                const real_t q_tmp_5_3 = tmp_qloop_33*tmp_qloop_66;
+                const real_t q_tmp_5_4 = tmp_qloop_40*tmp_qloop_66;
+                const real_t q_tmp_5_5 = tmp_qloop_47*tmp_qloop_66;
+                const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_66;
+                const real_t q_tmp_5_7 = tmp_qloop_56*tmp_qloop_66;
+                const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_66;
+                const real_t q_tmp_5_9 = tmp_qloop_61*tmp_qloop_66;
+                const real_t q_tmp_6_0 = tmp_qloop_25*tmp_qloop_67;
+                const real_t q_tmp_6_1 = tmp_qloop_29*tmp_qloop_67;
+                const real_t q_tmp_6_2 = tmp_qloop_31*tmp_qloop_67;
+                const real_t q_tmp_6_3 = tmp_qloop_33*tmp_qloop_67;
+                const real_t q_tmp_6_4 = tmp_qloop_40*tmp_qloop_67;
+                const real_t q_tmp_6_5 = tmp_qloop_47*tmp_qloop_67;
+                const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_67;
+                const real_t q_tmp_6_7 = tmp_qloop_56*tmp_qloop_67;
+                const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_67;
+                const real_t q_tmp_6_9 = tmp_qloop_61*tmp_qloop_67;
+                const real_t q_tmp_7_0 = tmp_qloop_25*tmp_qloop_68;
+                const real_t q_tmp_7_1 = tmp_qloop_29*tmp_qloop_68;
+                const real_t q_tmp_7_2 = tmp_qloop_31*tmp_qloop_68;
+                const real_t q_tmp_7_3 = tmp_qloop_33*tmp_qloop_68;
+                const real_t q_tmp_7_4 = tmp_qloop_40*tmp_qloop_68;
+                const real_t q_tmp_7_5 = tmp_qloop_47*tmp_qloop_68;
+                const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_68;
+                const real_t q_tmp_7_7 = tmp_qloop_56*tmp_qloop_68;
+                const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_68;
+                const real_t q_tmp_7_9 = tmp_qloop_61*tmp_qloop_68;
+                const real_t q_tmp_8_0 = tmp_qloop_25*tmp_qloop_69;
+                const real_t q_tmp_8_1 = tmp_qloop_29*tmp_qloop_69;
+                const real_t q_tmp_8_2 = tmp_qloop_31*tmp_qloop_69;
+                const real_t q_tmp_8_3 = tmp_qloop_33*tmp_qloop_69;
+                const real_t q_tmp_8_4 = tmp_qloop_40*tmp_qloop_69;
+                const real_t q_tmp_8_5 = tmp_qloop_47*tmp_qloop_69;
+                const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_69;
+                const real_t q_tmp_8_7 = tmp_qloop_56*tmp_qloop_69;
+                const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_69;
+                const real_t q_tmp_8_9 = tmp_qloop_61*tmp_qloop_69;
+                const real_t q_tmp_9_0 = tmp_qloop_25*tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_29*tmp_qloop_70;
+                const real_t q_tmp_9_2 = tmp_qloop_31*tmp_qloop_70;
+                const real_t q_tmp_9_3 = tmp_qloop_33*tmp_qloop_70;
+                const real_t q_tmp_9_4 = tmp_qloop_40*tmp_qloop_70;
+                const real_t q_tmp_9_5 = tmp_qloop_47*tmp_qloop_70;
+                const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_70;
+                const real_t q_tmp_9_7 = tmp_qloop_56*tmp_qloop_70;
+                const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_70;
+                const real_t q_tmp_9_9 = tmp_qloop_61*tmp_qloop_70;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMat_4_0 = q_acc_4_0;
+             const real_t elMat_4_1 = q_acc_4_1;
+             const real_t elMat_4_2 = q_acc_4_2;
+             const real_t elMat_4_3 = q_acc_4_3;
+             const real_t elMat_4_4 = q_acc_4_4;
+             const real_t elMat_4_5 = q_acc_4_5;
+             const real_t elMat_4_6 = q_acc_4_6;
+             const real_t elMat_4_7 = q_acc_4_7;
+             const real_t elMat_4_8 = q_acc_4_8;
+             const real_t elMat_4_9 = q_acc_4_9;
+             const real_t elMat_5_0 = q_acc_5_0;
+             const real_t elMat_5_1 = q_acc_5_1;
+             const real_t elMat_5_2 = q_acc_5_2;
+             const real_t elMat_5_3 = q_acc_5_3;
+             const real_t elMat_5_4 = q_acc_5_4;
+             const real_t elMat_5_5 = q_acc_5_5;
+             const real_t elMat_5_6 = q_acc_5_6;
+             const real_t elMat_5_7 = q_acc_5_7;
+             const real_t elMat_5_8 = q_acc_5_8;
+             const real_t elMat_5_9 = q_acc_5_9;
+             const real_t elMat_6_0 = q_acc_6_0;
+             const real_t elMat_6_1 = q_acc_6_1;
+             const real_t elMat_6_2 = q_acc_6_2;
+             const real_t elMat_6_3 = q_acc_6_3;
+             const real_t elMat_6_4 = q_acc_6_4;
+             const real_t elMat_6_5 = q_acc_6_5;
+             const real_t elMat_6_6 = q_acc_6_6;
+             const real_t elMat_6_7 = q_acc_6_7;
+             const real_t elMat_6_8 = q_acc_6_8;
+             const real_t elMat_6_9 = q_acc_6_9;
+             const real_t elMat_7_0 = q_acc_7_0;
+             const real_t elMat_7_1 = q_acc_7_1;
+             const real_t elMat_7_2 = q_acc_7_2;
+             const real_t elMat_7_3 = q_acc_7_3;
+             const real_t elMat_7_4 = q_acc_7_4;
+             const real_t elMat_7_5 = q_acc_7_5;
+             const real_t elMat_7_6 = q_acc_7_6;
+             const real_t elMat_7_7 = q_acc_7_7;
+             const real_t elMat_7_8 = q_acc_7_8;
+             const real_t elMat_7_9 = q_acc_7_9;
+             const real_t elMat_8_0 = q_acc_8_0;
+             const real_t elMat_8_1 = q_acc_8_1;
+             const real_t elMat_8_2 = q_acc_8_2;
+             const real_t elMat_8_3 = q_acc_8_3;
+             const real_t elMat_8_4 = q_acc_8_4;
+             const real_t elMat_8_5 = q_acc_8_5;
+             const real_t elMat_8_6 = q_acc_8_6;
+             const real_t elMat_8_7 = q_acc_8_7;
+             const real_t elMat_8_8 = q_acc_8_8;
+             const real_t elMat_8_9 = q_acc_8_9;
+             const real_t elMat_9_0 = q_acc_9_0;
+             const real_t elMat_9_1 = q_acc_9_1;
+             const real_t elMat_9_2 = q_acc_9_2;
+             const real_t elMat_9_3 = q_acc_9_3;
+             const real_t elMat_9_4 = q_acc_9_4;
+             const real_t elMat_9_5 = q_acc_9_5;
+             const real_t elMat_9_6 = q_acc_9_6;
+             const real_t elMat_9_7 = q_acc_9_7;
+             const real_t elMat_9_8 = q_acc_9_8;
+             const real_t elMat_9_9 = q_acc_9_9;
+         
+             std::vector< uint_t > _data_rowIdx( 10 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 100 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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[4] = ((uint64_t)(_data_dstEdge[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_rowIdx[5] = ((uint64_t)(_data_dstEdge[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_rowIdx[6] = ((uint64_t)(_data_dstEdge[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_rowIdx[7] = ((uint64_t)(_data_dstEdge[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_rowIdx[8] = ((uint64_t)(_data_dstEdge[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_rowIdx[9] = ((uint64_t)(_data_dstEdge[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[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));
+             _data_mat[40] = ((real_t)(elMat_4_0));
+             _data_mat[41] = ((real_t)(elMat_4_1));
+             _data_mat[42] = ((real_t)(elMat_4_2));
+             _data_mat[43] = ((real_t)(elMat_4_3));
+             _data_mat[44] = ((real_t)(elMat_4_4));
+             _data_mat[45] = ((real_t)(elMat_4_5));
+             _data_mat[46] = ((real_t)(elMat_4_6));
+             _data_mat[47] = ((real_t)(elMat_4_7));
+             _data_mat[48] = ((real_t)(elMat_4_8));
+             _data_mat[49] = ((real_t)(elMat_4_9));
+             _data_mat[50] = ((real_t)(elMat_5_0));
+             _data_mat[51] = ((real_t)(elMat_5_1));
+             _data_mat[52] = ((real_t)(elMat_5_2));
+             _data_mat[53] = ((real_t)(elMat_5_3));
+             _data_mat[54] = ((real_t)(elMat_5_4));
+             _data_mat[55] = ((real_t)(elMat_5_5));
+             _data_mat[56] = ((real_t)(elMat_5_6));
+             _data_mat[57] = ((real_t)(elMat_5_7));
+             _data_mat[58] = ((real_t)(elMat_5_8));
+             _data_mat[59] = ((real_t)(elMat_5_9));
+             _data_mat[60] = ((real_t)(elMat_6_0));
+             _data_mat[61] = ((real_t)(elMat_6_1));
+             _data_mat[62] = ((real_t)(elMat_6_2));
+             _data_mat[63] = ((real_t)(elMat_6_3));
+             _data_mat[64] = ((real_t)(elMat_6_4));
+             _data_mat[65] = ((real_t)(elMat_6_5));
+             _data_mat[66] = ((real_t)(elMat_6_6));
+             _data_mat[67] = ((real_t)(elMat_6_7));
+             _data_mat[68] = ((real_t)(elMat_6_8));
+             _data_mat[69] = ((real_t)(elMat_6_9));
+             _data_mat[70] = ((real_t)(elMat_7_0));
+             _data_mat[71] = ((real_t)(elMat_7_1));
+             _data_mat[72] = ((real_t)(elMat_7_2));
+             _data_mat[73] = ((real_t)(elMat_7_3));
+             _data_mat[74] = ((real_t)(elMat_7_4));
+             _data_mat[75] = ((real_t)(elMat_7_5));
+             _data_mat[76] = ((real_t)(elMat_7_6));
+             _data_mat[77] = ((real_t)(elMat_7_7));
+             _data_mat[78] = ((real_t)(elMat_7_8));
+             _data_mat[79] = ((real_t)(elMat_7_9));
+             _data_mat[80] = ((real_t)(elMat_8_0));
+             _data_mat[81] = ((real_t)(elMat_8_1));
+             _data_mat[82] = ((real_t)(elMat_8_2));
+             _data_mat[83] = ((real_t)(elMat_8_3));
+             _data_mat[84] = ((real_t)(elMat_8_4));
+             _data_mat[85] = ((real_t)(elMat_8_5));
+             _data_mat[86] = ((real_t)(elMat_8_6));
+             _data_mat[87] = ((real_t)(elMat_8_7));
+             _data_mat[88] = ((real_t)(elMat_8_8));
+             _data_mat[89] = ((real_t)(elMat_8_9));
+             _data_mat[90] = ((real_t)(elMat_9_0));
+             _data_mat[91] = ((real_t)(elMat_9_1));
+             _data_mat[92] = ((real_t)(elMat_9_2));
+             _data_mat[93] = ((real_t)(elMat_9_3));
+             _data_mat[94] = ((real_t)(elMat_9_4));
+             _data_mat[95] = ((real_t)(elMat_9_5));
+             _data_mat[96] = ((real_t)(elMat_9_6));
+             _data_mat[97] = ((real_t)(elMat_9_7));
+             _data_mat[98] = ((real_t)(elMat_9_8));
+             _data_mat[99] = ((real_t)(elMat_9_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 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_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 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN;
+       const real_t tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN);
+       const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN);
+       const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN);
+       const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN);
+       const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN);
+       {
+          /* CellType.GREEN_DOWN */
+          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 cp_dof_0 = _data_cpVertex[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 cp_dof_1 = _data_cpVertex[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 cp_dof_2 = _data_cpVertex[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 cp_dof_3 = _data_cpVertex[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 cp_dof_4 = _data_cpEdge[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 cp_dof_5 = _data_cpEdge[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 cp_dof_6 = _data_cpEdge[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 cp_dof_7 = _data_cpEdge[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 cp_dof_8 = _data_cpEdge[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 cp_dof_9 = _data_cpEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_GREEN_DOWN*(cp_dof_0*tmp_qloop_21 + cp_dof_1*tmp_qloop_10 + cp_dof_2*tmp_qloop_13 + cp_dof_3*tmp_qloop_16 + cp_dof_4*tmp_qloop_7 + cp_dof_5*tmp_qloop_6 + cp_dof_6*tmp_qloop_5 + cp_dof_7*tmp_qloop_17 + cp_dof_8*tmp_qloop_18 + cp_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_21*tmp_qloop_26;
+                const real_t tmp_qloop_28 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_28;
+                const real_t tmp_qloop_30 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_31 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_30 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_30 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_30;
+                const real_t tmp_qloop_32 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_32 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_32 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_32;
+                const real_t tmp_qloop_34 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_35 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_36 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_37 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_38 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_39 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_40 = tmp_qloop_22*(tmp_qloop_34 + tmp_qloop_35) + tmp_qloop_23*(tmp_qloop_36 + tmp_qloop_37) + tmp_qloop_24*(tmp_qloop_38 + tmp_qloop_39);
+                const real_t tmp_qloop_41 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_43 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_47 = tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46);
+                const real_t tmp_qloop_48 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_49 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_50 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_51 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_52 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_53 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_54 = tmp_qloop_22*(tmp_qloop_48 + tmp_qloop_49) + tmp_qloop_23*(tmp_qloop_50 + tmp_qloop_51) + tmp_qloop_24*(tmp_qloop_52 + tmp_qloop_53);
+                const real_t tmp_qloop_55 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_56 = tmp_qloop_22*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_55 - tmp_qloop_35 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_55 - tmp_qloop_37 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_55 - tmp_qloop_39 - tmp_qloop_46);
+                const real_t tmp_qloop_57 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_58 = -tmp_qloop_1 - tmp_qloop_57 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_59 = tmp_qloop_22*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_58 - tmp_qloop_34 - tmp_qloop_49) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_58 - tmp_qloop_36 - tmp_qloop_51) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_53);
+                const real_t tmp_qloop_60 = -tmp_qloop_2 - tmp_qloop_57 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_61 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_60 - tmp_qloop_41 - tmp_qloop_48) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_60 - tmp_qloop_43 - tmp_qloop_50) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_60 - tmp_qloop_45 - tmp_qloop_52);
+                const real_t tmp_qloop_62 = tmp_qloop_10*tmp_qloop_26;
+                const real_t tmp_qloop_63 = tmp_qloop_13*tmp_qloop_26;
+                const real_t tmp_qloop_64 = tmp_qloop_16*tmp_qloop_26;
+                const real_t tmp_qloop_65 = tmp_qloop_26*tmp_qloop_7;
+                const real_t tmp_qloop_66 = tmp_qloop_26*tmp_qloop_6;
+                const real_t tmp_qloop_67 = tmp_qloop_26*tmp_qloop_5;
+                const real_t tmp_qloop_68 = tmp_qloop_17*tmp_qloop_26;
+                const real_t tmp_qloop_69 = tmp_qloop_18*tmp_qloop_26;
+                const real_t tmp_qloop_70 = tmp_qloop_20*tmp_qloop_26;
+                const real_t q_tmp_0_0 = tmp_qloop_25*tmp_qloop_27;
+                const real_t q_tmp_0_1 = tmp_qloop_27*tmp_qloop_29;
+                const real_t q_tmp_0_2 = tmp_qloop_27*tmp_qloop_31;
+                const real_t q_tmp_0_3 = tmp_qloop_27*tmp_qloop_33;
+                const real_t q_tmp_0_4 = tmp_qloop_27*tmp_qloop_40;
+                const real_t q_tmp_0_5 = tmp_qloop_27*tmp_qloop_47;
+                const real_t q_tmp_0_6 = tmp_qloop_27*tmp_qloop_54;
+                const real_t q_tmp_0_7 = tmp_qloop_27*tmp_qloop_56;
+                const real_t q_tmp_0_8 = tmp_qloop_27*tmp_qloop_59;
+                const real_t q_tmp_0_9 = tmp_qloop_27*tmp_qloop_61;
+                const real_t q_tmp_1_0 = tmp_qloop_25*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_qloop_29*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_qloop_31*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_qloop_33*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_qloop_40*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_qloop_47*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_qloop_56*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_qloop_61*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_qloop_25*tmp_qloop_63;
+                const real_t q_tmp_2_1 = tmp_qloop_29*tmp_qloop_63;
+                const real_t q_tmp_2_2 = tmp_qloop_31*tmp_qloop_63;
+                const real_t q_tmp_2_3 = tmp_qloop_33*tmp_qloop_63;
+                const real_t q_tmp_2_4 = tmp_qloop_40*tmp_qloop_63;
+                const real_t q_tmp_2_5 = tmp_qloop_47*tmp_qloop_63;
+                const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_63;
+                const real_t q_tmp_2_7 = tmp_qloop_56*tmp_qloop_63;
+                const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_63;
+                const real_t q_tmp_2_9 = tmp_qloop_61*tmp_qloop_63;
+                const real_t q_tmp_3_0 = tmp_qloop_25*tmp_qloop_64;
+                const real_t q_tmp_3_1 = tmp_qloop_29*tmp_qloop_64;
+                const real_t q_tmp_3_2 = tmp_qloop_31*tmp_qloop_64;
+                const real_t q_tmp_3_3 = tmp_qloop_33*tmp_qloop_64;
+                const real_t q_tmp_3_4 = tmp_qloop_40*tmp_qloop_64;
+                const real_t q_tmp_3_5 = tmp_qloop_47*tmp_qloop_64;
+                const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_64;
+                const real_t q_tmp_3_7 = tmp_qloop_56*tmp_qloop_64;
+                const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_64;
+                const real_t q_tmp_3_9 = tmp_qloop_61*tmp_qloop_64;
+                const real_t q_tmp_4_0 = tmp_qloop_25*tmp_qloop_65;
+                const real_t q_tmp_4_1 = tmp_qloop_29*tmp_qloop_65;
+                const real_t q_tmp_4_2 = tmp_qloop_31*tmp_qloop_65;
+                const real_t q_tmp_4_3 = tmp_qloop_33*tmp_qloop_65;
+                const real_t q_tmp_4_4 = tmp_qloop_40*tmp_qloop_65;
+                const real_t q_tmp_4_5 = tmp_qloop_47*tmp_qloop_65;
+                const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_65;
+                const real_t q_tmp_4_7 = tmp_qloop_56*tmp_qloop_65;
+                const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_65;
+                const real_t q_tmp_4_9 = tmp_qloop_61*tmp_qloop_65;
+                const real_t q_tmp_5_0 = tmp_qloop_25*tmp_qloop_66;
+                const real_t q_tmp_5_1 = tmp_qloop_29*tmp_qloop_66;
+                const real_t q_tmp_5_2 = tmp_qloop_31*tmp_qloop_66;
+                const real_t q_tmp_5_3 = tmp_qloop_33*tmp_qloop_66;
+                const real_t q_tmp_5_4 = tmp_qloop_40*tmp_qloop_66;
+                const real_t q_tmp_5_5 = tmp_qloop_47*tmp_qloop_66;
+                const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_66;
+                const real_t q_tmp_5_7 = tmp_qloop_56*tmp_qloop_66;
+                const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_66;
+                const real_t q_tmp_5_9 = tmp_qloop_61*tmp_qloop_66;
+                const real_t q_tmp_6_0 = tmp_qloop_25*tmp_qloop_67;
+                const real_t q_tmp_6_1 = tmp_qloop_29*tmp_qloop_67;
+                const real_t q_tmp_6_2 = tmp_qloop_31*tmp_qloop_67;
+                const real_t q_tmp_6_3 = tmp_qloop_33*tmp_qloop_67;
+                const real_t q_tmp_6_4 = tmp_qloop_40*tmp_qloop_67;
+                const real_t q_tmp_6_5 = tmp_qloop_47*tmp_qloop_67;
+                const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_67;
+                const real_t q_tmp_6_7 = tmp_qloop_56*tmp_qloop_67;
+                const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_67;
+                const real_t q_tmp_6_9 = tmp_qloop_61*tmp_qloop_67;
+                const real_t q_tmp_7_0 = tmp_qloop_25*tmp_qloop_68;
+                const real_t q_tmp_7_1 = tmp_qloop_29*tmp_qloop_68;
+                const real_t q_tmp_7_2 = tmp_qloop_31*tmp_qloop_68;
+                const real_t q_tmp_7_3 = tmp_qloop_33*tmp_qloop_68;
+                const real_t q_tmp_7_4 = tmp_qloop_40*tmp_qloop_68;
+                const real_t q_tmp_7_5 = tmp_qloop_47*tmp_qloop_68;
+                const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_68;
+                const real_t q_tmp_7_7 = tmp_qloop_56*tmp_qloop_68;
+                const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_68;
+                const real_t q_tmp_7_9 = tmp_qloop_61*tmp_qloop_68;
+                const real_t q_tmp_8_0 = tmp_qloop_25*tmp_qloop_69;
+                const real_t q_tmp_8_1 = tmp_qloop_29*tmp_qloop_69;
+                const real_t q_tmp_8_2 = tmp_qloop_31*tmp_qloop_69;
+                const real_t q_tmp_8_3 = tmp_qloop_33*tmp_qloop_69;
+                const real_t q_tmp_8_4 = tmp_qloop_40*tmp_qloop_69;
+                const real_t q_tmp_8_5 = tmp_qloop_47*tmp_qloop_69;
+                const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_69;
+                const real_t q_tmp_8_7 = tmp_qloop_56*tmp_qloop_69;
+                const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_69;
+                const real_t q_tmp_8_9 = tmp_qloop_61*tmp_qloop_69;
+                const real_t q_tmp_9_0 = tmp_qloop_25*tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_29*tmp_qloop_70;
+                const real_t q_tmp_9_2 = tmp_qloop_31*tmp_qloop_70;
+                const real_t q_tmp_9_3 = tmp_qloop_33*tmp_qloop_70;
+                const real_t q_tmp_9_4 = tmp_qloop_40*tmp_qloop_70;
+                const real_t q_tmp_9_5 = tmp_qloop_47*tmp_qloop_70;
+                const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_70;
+                const real_t q_tmp_9_7 = tmp_qloop_56*tmp_qloop_70;
+                const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_70;
+                const real_t q_tmp_9_9 = tmp_qloop_61*tmp_qloop_70;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMat_4_0 = q_acc_4_0;
+             const real_t elMat_4_1 = q_acc_4_1;
+             const real_t elMat_4_2 = q_acc_4_2;
+             const real_t elMat_4_3 = q_acc_4_3;
+             const real_t elMat_4_4 = q_acc_4_4;
+             const real_t elMat_4_5 = q_acc_4_5;
+             const real_t elMat_4_6 = q_acc_4_6;
+             const real_t elMat_4_7 = q_acc_4_7;
+             const real_t elMat_4_8 = q_acc_4_8;
+             const real_t elMat_4_9 = q_acc_4_9;
+             const real_t elMat_5_0 = q_acc_5_0;
+             const real_t elMat_5_1 = q_acc_5_1;
+             const real_t elMat_5_2 = q_acc_5_2;
+             const real_t elMat_5_3 = q_acc_5_3;
+             const real_t elMat_5_4 = q_acc_5_4;
+             const real_t elMat_5_5 = q_acc_5_5;
+             const real_t elMat_5_6 = q_acc_5_6;
+             const real_t elMat_5_7 = q_acc_5_7;
+             const real_t elMat_5_8 = q_acc_5_8;
+             const real_t elMat_5_9 = q_acc_5_9;
+             const real_t elMat_6_0 = q_acc_6_0;
+             const real_t elMat_6_1 = q_acc_6_1;
+             const real_t elMat_6_2 = q_acc_6_2;
+             const real_t elMat_6_3 = q_acc_6_3;
+             const real_t elMat_6_4 = q_acc_6_4;
+             const real_t elMat_6_5 = q_acc_6_5;
+             const real_t elMat_6_6 = q_acc_6_6;
+             const real_t elMat_6_7 = q_acc_6_7;
+             const real_t elMat_6_8 = q_acc_6_8;
+             const real_t elMat_6_9 = q_acc_6_9;
+             const real_t elMat_7_0 = q_acc_7_0;
+             const real_t elMat_7_1 = q_acc_7_1;
+             const real_t elMat_7_2 = q_acc_7_2;
+             const real_t elMat_7_3 = q_acc_7_3;
+             const real_t elMat_7_4 = q_acc_7_4;
+             const real_t elMat_7_5 = q_acc_7_5;
+             const real_t elMat_7_6 = q_acc_7_6;
+             const real_t elMat_7_7 = q_acc_7_7;
+             const real_t elMat_7_8 = q_acc_7_8;
+             const real_t elMat_7_9 = q_acc_7_9;
+             const real_t elMat_8_0 = q_acc_8_0;
+             const real_t elMat_8_1 = q_acc_8_1;
+             const real_t elMat_8_2 = q_acc_8_2;
+             const real_t elMat_8_3 = q_acc_8_3;
+             const real_t elMat_8_4 = q_acc_8_4;
+             const real_t elMat_8_5 = q_acc_8_5;
+             const real_t elMat_8_6 = q_acc_8_6;
+             const real_t elMat_8_7 = q_acc_8_7;
+             const real_t elMat_8_8 = q_acc_8_8;
+             const real_t elMat_8_9 = q_acc_8_9;
+             const real_t elMat_9_0 = q_acc_9_0;
+             const real_t elMat_9_1 = q_acc_9_1;
+             const real_t elMat_9_2 = q_acc_9_2;
+             const real_t elMat_9_3 = q_acc_9_3;
+             const real_t elMat_9_4 = q_acc_9_4;
+             const real_t elMat_9_5 = q_acc_9_5;
+             const real_t elMat_9_6 = q_acc_9_6;
+             const real_t elMat_9_7 = q_acc_9_7;
+             const real_t elMat_9_8 = q_acc_9_8;
+             const real_t elMat_9_9 = q_acc_9_9;
+         
+             std::vector< uint_t > _data_rowIdx( 10 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 100 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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[4] = ((uint64_t)(_data_dstEdge[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_rowIdx[5] = ((uint64_t)(_data_dstEdge[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_rowIdx[6] = ((uint64_t)(_data_dstEdge[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_rowIdx[7] = ((uint64_t)(_data_dstEdge[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_rowIdx[8] = ((uint64_t)(_data_dstEdge[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_rowIdx[9] = ((uint64_t)(_data_dstEdge[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[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));
+             _data_mat[40] = ((real_t)(elMat_4_0));
+             _data_mat[41] = ((real_t)(elMat_4_1));
+             _data_mat[42] = ((real_t)(elMat_4_2));
+             _data_mat[43] = ((real_t)(elMat_4_3));
+             _data_mat[44] = ((real_t)(elMat_4_4));
+             _data_mat[45] = ((real_t)(elMat_4_5));
+             _data_mat[46] = ((real_t)(elMat_4_6));
+             _data_mat[47] = ((real_t)(elMat_4_7));
+             _data_mat[48] = ((real_t)(elMat_4_8));
+             _data_mat[49] = ((real_t)(elMat_4_9));
+             _data_mat[50] = ((real_t)(elMat_5_0));
+             _data_mat[51] = ((real_t)(elMat_5_1));
+             _data_mat[52] = ((real_t)(elMat_5_2));
+             _data_mat[53] = ((real_t)(elMat_5_3));
+             _data_mat[54] = ((real_t)(elMat_5_4));
+             _data_mat[55] = ((real_t)(elMat_5_5));
+             _data_mat[56] = ((real_t)(elMat_5_6));
+             _data_mat[57] = ((real_t)(elMat_5_7));
+             _data_mat[58] = ((real_t)(elMat_5_8));
+             _data_mat[59] = ((real_t)(elMat_5_9));
+             _data_mat[60] = ((real_t)(elMat_6_0));
+             _data_mat[61] = ((real_t)(elMat_6_1));
+             _data_mat[62] = ((real_t)(elMat_6_2));
+             _data_mat[63] = ((real_t)(elMat_6_3));
+             _data_mat[64] = ((real_t)(elMat_6_4));
+             _data_mat[65] = ((real_t)(elMat_6_5));
+             _data_mat[66] = ((real_t)(elMat_6_6));
+             _data_mat[67] = ((real_t)(elMat_6_7));
+             _data_mat[68] = ((real_t)(elMat_6_8));
+             _data_mat[69] = ((real_t)(elMat_6_9));
+             _data_mat[70] = ((real_t)(elMat_7_0));
+             _data_mat[71] = ((real_t)(elMat_7_1));
+             _data_mat[72] = ((real_t)(elMat_7_2));
+             _data_mat[73] = ((real_t)(elMat_7_3));
+             _data_mat[74] = ((real_t)(elMat_7_4));
+             _data_mat[75] = ((real_t)(elMat_7_5));
+             _data_mat[76] = ((real_t)(elMat_7_6));
+             _data_mat[77] = ((real_t)(elMat_7_7));
+             _data_mat[78] = ((real_t)(elMat_7_8));
+             _data_mat[79] = ((real_t)(elMat_7_9));
+             _data_mat[80] = ((real_t)(elMat_8_0));
+             _data_mat[81] = ((real_t)(elMat_8_1));
+             _data_mat[82] = ((real_t)(elMat_8_2));
+             _data_mat[83] = ((real_t)(elMat_8_3));
+             _data_mat[84] = ((real_t)(elMat_8_4));
+             _data_mat[85] = ((real_t)(elMat_8_5));
+             _data_mat[86] = ((real_t)(elMat_8_6));
+             _data_mat[87] = ((real_t)(elMat_8_7));
+             _data_mat[88] = ((real_t)(elMat_8_8));
+             _data_mat[89] = ((real_t)(elMat_8_9));
+             _data_mat[90] = ((real_t)(elMat_9_0));
+             _data_mat[91] = ((real_t)(elMat_9_1));
+             _data_mat[92] = ((real_t)(elMat_9_2));
+             _data_mat[93] = ((real_t)(elMat_9_3));
+             _data_mat[94] = ((real_t)(elMat_9_4));
+             _data_mat[95] = ((real_t)(elMat_9_5));
+             _data_mat[96] = ((real_t)(elMat_9_6));
+             _data_mat[97] = ((real_t)(elMat_9_7));
+             _data_mat[98] = ((real_t)(elMat_9_8));
+             _data_mat[99] = ((real_t)(elMat_9_9));
+         
+         
+             mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/mass/P2ElementwiseMassAnnulusMap.cpp b/operators/mass/P2ElementwiseMassAnnulusMap.cpp
index c1240ffd859e36197c946f991ad524cc3bd105b4..847ec7f1e86a4c485c1773876c8386350e912fc8 100644
--- a/operators/mass/P2ElementwiseMassAnnulusMap.cpp
+++ b/operators/mass/P2ElementwiseMassAnnulusMap.cpp
@@ -286,7 +286,7 @@ void P2ElementwiseMassAnnulusMap::computeInverseDiagonalOperatorValues()
 
    for ( uint_t level = minLevel_; level <= maxLevel_; level++ )
    {
-      invDiag_->interpolate( 0, level );
+      invDiag_->setToZero( level );
 
       if ( storage_->hasGlobalCells() )
       {
diff --git a/operators/mass/P2ElementwiseMassAnnulusMap.hpp b/operators/mass/P2ElementwiseMassAnnulusMap.hpp
index f0f2aafeb5c2346d5369f940f1e6a710bad9dd20..403eec06111591ce7fa24e5baa6ece93aca459a3 100644
--- a/operators/mass/P2ElementwiseMassAnnulusMap.hpp
+++ b/operators/mass/P2ElementwiseMassAnnulusMap.hpp
@@ -90,7 +90,7 @@ class P2ElementwiseMassAnnulusMap : public Operator< P2Function< real_t >, P2Fun
    /// - operations per element:
    ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
    /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
-   ///    638     996      30      30      6              0                 0              1
+   ///    542     822      24      18      0              0                 0              1
    void apply_P2ElementwiseMassAnnulusMap_macro_2D( real_t* RESTRICT _data_dstEdge,
                                                     real_t* RESTRICT _data_dstVertex,
                                                     real_t* RESTRICT _data_srcEdge,
@@ -121,7 +121,7 @@ class P2ElementwiseMassAnnulusMap : public Operator< P2Function< real_t >, P2Fun
    /// - operations per element:
    ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
    /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
-   ///    602     960      30      30      6              0                 0              4
+   ///    506     786      24      18      0              0                 0              4
    void toMatrix_P2ElementwiseMassAnnulusMap_macro_2D( idx_t* RESTRICT                      _data_dstEdge,
                                                        idx_t* RESTRICT                      _data_dstVertex,
                                                        idx_t* RESTRICT                      _data_srcEdge,
@@ -153,7 +153,7 @@ class P2ElementwiseMassAnnulusMap : public Operator< P2Function< real_t >, P2Fun
    /// - operations per element:
    ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
    /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
-   ///    518     840      30      30      6              0                 0              1
+   ///    422     666      24      18      0              0                 0              1
    void computeInverseDiagonalOperatorValues_P2ElementwiseMassAnnulusMap_macro_2D( real_t* RESTRICT _data_invDiag_Edge,
                                                                                    real_t* RESTRICT _data_invDiag_Vertex,
                                                                                    real_t           macro_vertex_coord_id_0comp0,
diff --git a/operators/mass/avx/P2ElementwiseMassAnnulusMap_apply_P2ElementwiseMassAnnulusMap_macro_2D.cpp b/operators/mass/avx/P2ElementwiseMassAnnulusMap_apply_P2ElementwiseMassAnnulusMap_macro_2D.cpp
index 356847c2472aeaa7c0a095394d9fb7a5ea09be0e..d0a1b432b77289f631974b0c00619c44ac9b3a9c 100644
--- a/operators/mass/avx/P2ElementwiseMassAnnulusMap_apply_P2ElementwiseMassAnnulusMap_macro_2D.cpp
+++ b/operators/mass/avx/P2ElementwiseMassAnnulusMap_apply_P2ElementwiseMassAnnulusMap_macro_2D.cpp
@@ -83,18 +83,13 @@ void P2ElementwiseMassAnnulusMap::apply_P2ElementwiseMassAnnulusMap_macro_2D( re
        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_3 = rayVertex_1 - thrVertex_1;
-       const real_t tmp_qloop_4 = -tmp_qloop_3;
-       const real_t tmp_qloop_12 = rayVertex_0 - refVertex_0;
-       const real_t tmp_qloop_13 = rayVertex_0 - thrVertex_0;
-       const real_t tmp_qloop_14 = -tmp_qloop_13;
-       const real_t tmp_qloop_15 = rayVertex_1 - refVertex_1;
-       const real_t tmp_qloop_16 = 1.0 / (-tmp_qloop_12*tmp_qloop_4 + tmp_qloop_14*tmp_qloop_15);
-       const real_t tmp_qloop_17 = radRayVertex - radRefVertex;
-       const real_t tmp_qloop_18 = -tmp_qloop_17;
-       const real_t tmp_qloop_19 = tmp_qloop_16*tmp_qloop_18;
-       const real_t tmp_qloop_20 = tmp_qloop_19*1.0;
-       const real_t tmp_qloop_56 = tmp_qloop_17*1.0 / (tmp_qloop_12*tmp_qloop_3 - tmp_qloop_13*tmp_qloop_15);
+       const real_t tmp_qloop_1 = -rayVertex_1 + thrVertex_1;
+       const real_t tmp_qloop_7 = rayVertex_0 - thrVertex_0;
+       const real_t tmp_qloop_8 = -tmp_qloop_7;
+       const real_t tmp_qloop_9 = 1.0 / (tmp_qloop_1*(-rayVertex_0 + refVertex_0) - tmp_qloop_8*(-rayVertex_1 + refVertex_1));
+       const real_t tmp_qloop_10 = -radRayVertex + radRefVertex;
+       const real_t tmp_qloop_11 = tmp_qloop_10*tmp_qloop_9;
+       const real_t tmp_qloop_12 = tmp_qloop_11*1.0;
        {
           /* FaceType.GRAY */
           for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1)
@@ -147,108 +142,91 @@ void P2ElementwiseMassAnnulusMap::apply_P2ElementwiseMassAnnulusMap_macro_2D( re
                 __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
                 __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
                 __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
-                const __m256d tmp_qloop_0 = _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);
-                const __m256d tmp_qloop_1 = _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);
-                const __m256d tmp_qloop_6 = _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);
-                const __m256d tmp_qloop_7 = _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);
                 for (int64_t q = 0; q < 6; q += 1)
                 {
-                   const __m256d tmp_qloop_2 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,_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])),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_1,_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]))),p_affine_0_0);
-                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_2,tmp_qloop_2);
-                   const __m256d tmp_qloop_8 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_6,_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])),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_7,_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]))),p_affine_0_1);
-                   const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,tmp_qloop_8);
-                   const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_9);
-                   const __m256d tmp_qloop_11 = _mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_sqrt_pd(tmp_qloop_10));
-                   const __m256d tmp_qloop_21 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20));
-                   const __m256d tmp_qloop_22 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4));
-                   const __m256d tmp_qloop_23 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_10),_mm256_mul_pd(tmp_qloop_10,tmp_qloop_10));
-                   const __m256d tmp_qloop_24 = _mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(rayVertex_0,rayVertex_0,rayVertex_0,rayVertex_0)),tmp_qloop_2),_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4)),_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(rayVertex_1,rayVertex_1,rayVertex_1,rayVertex_1)),tmp_qloop_8),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14))),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex));
-                   const __m256d tmp_qloop_25 = _mm256_mul_pd(tmp_qloop_23,tmp_qloop_24);
-                   const __m256d tmp_qloop_26 = _mm256_mul_pd(tmp_qloop_25,_mm256_set_pd(1.0,1.0,1.0,1.0));
-                   const __m256d tmp_qloop_27 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14));
-                   const __m256d tmp_qloop_28 = _mm256_mul_pd(tmp_qloop_2,tmp_qloop_26);
-                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20));
-                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4));
-                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_32,tmp_qloop_5);
-                   const __m256d tmp_qloop_34 = _mm256_mul_pd(_mm256_mul_pd(_mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_10),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_10,tmp_qloop_10),tmp_qloop_10)),tmp_qloop_24),_mm256_set_pd(3.0,3.0,3.0,3.0));
-                   const __m256d tmp_qloop_35 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_34),tmp_qloop_9);
-                   const __m256d tmp_qloop_36 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_32,tmp_qloop_9));
-                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13));
-                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_2,tmp_qloop_8);
-                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_32,tmp_qloop_38);
-                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_25,_mm256_set_pd(2.0,2.0,2.0,2.0));
-                   const __m256d tmp_qloop_41 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_34,tmp_qloop_5),tmp_qloop_8);
-                   const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_8));
-                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_37,tmp_qloop_38);
-                   const __m256d tmp_qloop_44 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_31,tmp_qloop_38),_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14));
-                   const __m256d tmp_qloop_45 = _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_46 = _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_47 = _mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(2.0,2.0,2.0,2.0));
-                   const __m256d tmp_qloop_48 = _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_49 = _mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(2.0,2.0,2.0,2.0));
-                   const __m256d tmp_qloop_50 = _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_45),tmp_qloop_47),tmp_qloop_49);
-                   const __m256d tmp_qloop_51 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_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_1,_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_52 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_51);
-                   const __m256d tmp_qloop_53 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_6,_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_7,_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_54 = _mm256_mul_pd(tmp_qloop_53,tmp_qloop_53);
-                   const __m256d tmp_qloop_55 = _mm256_add_pd(tmp_qloop_52,tmp_qloop_54);
-                   const __m256d tmp_qloop_57 = _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_55)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_56,tmp_qloop_56,tmp_qloop_56,tmp_qloop_56));
-                   const __m256d tmp_qloop_58 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_57);
-                   const __m256d tmp_qloop_59 = _mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(rayVertex_1,rayVertex_1,rayVertex_1,rayVertex_1),tmp_qloop_53),_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(rayVertex_0,rayVertex_0,rayVertex_0,rayVertex_0),tmp_qloop_51),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_3,tmp_qloop_3,tmp_qloop_3,tmp_qloop_3)));
-                   const __m256d tmp_qloop_60 = _mm256_mul_pd(_mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_55),_mm256_mul_pd(tmp_qloop_55,tmp_qloop_55)),_mm256_set_pd(1.0,1.0,1.0,1.0));
-                   const __m256d tmp_qloop_61 = _mm256_mul_pd(tmp_qloop_60,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_59,_mm256_set_pd(tmp_qloop_56,tmp_qloop_56,tmp_qloop_56,tmp_qloop_56)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex)));
-                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_53,tmp_qloop_57);
-                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_60,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_59,_mm256_set_pd(tmp_qloop_56,tmp_qloop_56,tmp_qloop_56,tmp_qloop_56)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex)));
-                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_53);
-                   const __m256d tmp_qloop_65 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q]),_mm256_set_pd(abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY)),_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_58,_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,tmp_qloop_64),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_qloop_3,tmp_qloop_3,tmp_qloop_3,tmp_qloop_3)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_64))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13)),_mm256_mul_pd(tmp_qloop_52,tmp_qloop_63)),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(tmp_qloop_3,tmp_qloop_3,tmp_qloop_3,tmp_qloop_3)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_54,tmp_qloop_61),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)))))));
-                   const __m256d tmp_qloop_66 = _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_47);
-                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_50,tmp_qloop_65);
-                   const __m256d tmp_qloop_68 = _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_49);
-                   const __m256d tmp_qloop_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_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_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d tmp_qloop_70 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_46,_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_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d tmp_qloop_71 = _mm256_mul_pd(tmp_qloop_65,tmp_qloop_66);
-                   const __m256d tmp_qloop_72 = _mm256_mul_pd(tmp_qloop_65,tmp_qloop_68);
-                   const __m256d tmp_qloop_73 = _mm256_mul_pd(tmp_qloop_65,tmp_qloop_69);
-                   const __m256d jac_blending_0_0 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_22),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_9));
-                   const __m256d jac_blending_0_1 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_27),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_23),tmp_qloop_24),tmp_qloop_8),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d jac_blending_1_0 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_8),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_8),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d jac_blending_1_1 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_27,tmp_qloop_8),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_24),tmp_qloop_5),_mm256_set_pd(1.0,1.0,1.0,1.0)));
-                   const __m256d tmp_qloop_29 = _mm256_add_pd(_mm256_mul_pd(jac_blending_0_0,jac_blending_1_1),_mm256_mul_pd(_mm256_mul_pd(jac_blending_0_1,jac_blending_1_0),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d tmp_qloop_30 = _mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),tmp_qloop_29);
-                   const __m256d abs_det_jac_blending = tmp_qloop_29;
-                   const __m256d jac_blending_inv_0_0 = _mm256_mul_pd(jac_blending_1_1,tmp_qloop_30);
-                   const __m256d jac_blending_inv_0_1 = _mm256_mul_pd(_mm256_mul_pd(jac_blending_0_1,tmp_qloop_30),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
-                   const __m256d jac_blending_inv_1_0 = _mm256_mul_pd(_mm256_mul_pd(jac_blending_1_0,tmp_qloop_30),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
-                   const __m256d jac_blending_inv_1_1 = _mm256_mul_pd(jac_blending_0_0,tmp_qloop_30);
-                   const __m256d hessian_blending_0_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),tmp_qloop_22),tmp_qloop_36);
-                   const __m256d hessian_blending_1_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_37,tmp_qloop_9)),_mm256_mul_pd(tmp_qloop_40,tmp_qloop_8)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_8,tmp_qloop_8),tmp_qloop_8)),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d hessian_blending_0_0_1 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_38),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4)));
-                   const __m256d hessian_blending_1_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_16,tmp_qloop_16,tmp_qloop_16,tmp_qloop_16)),_mm256_set_pd(tmp_qloop_18,tmp_qloop_18,tmp_qloop_18,tmp_qloop_18)),_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4)));
-                   const __m256d hessian_blending_0_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_42,_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_23,tmp_qloop_5),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14)),_mm256_set_pd(tmp_qloop_16,tmp_qloop_16,tmp_qloop_16,tmp_qloop_16)),_mm256_set_pd(tmp_qloop_18,tmp_qloop_18,tmp_qloop_18,tmp_qloop_18)));
-                   const __m256d hessian_blending_1_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_35),tmp_qloop_44);
-                   const __m256d hessian_blending_0_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_40),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_2),tmp_qloop_2),tmp_qloop_34),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_33),tmp_qloop_44);
-                   const __m256d hessian_blending_1_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_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_23,tmp_qloop_5),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13)),_mm256_set_pd(tmp_qloop_16,tmp_qloop_16,tmp_qloop_16,tmp_qloop_16)),_mm256_set_pd(tmp_qloop_18,tmp_qloop_18,tmp_qloop_18,tmp_qloop_18))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_9),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14)),_mm256_set_pd(tmp_qloop_16,tmp_qloop_16,tmp_qloop_16,tmp_qloop_16)),_mm256_set_pd(tmp_qloop_18,tmp_qloop_18,tmp_qloop_18,tmp_qloop_18)));
-                   const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_50,tmp_qloop_50),tmp_qloop_65);
-                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_67);
-                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_67,tmp_qloop_68);
-                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_45,tmp_qloop_67);
-                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_67,tmp_qloop_69);
-                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_67,tmp_qloop_70);
-                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_65,_mm256_mul_pd(tmp_qloop_66,tmp_qloop_66));
-                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_68,tmp_qloop_71);
-                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_45,tmp_qloop_71);
-                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_71);
-                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_70,tmp_qloop_71);
-                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_65,_mm256_mul_pd(tmp_qloop_68,tmp_qloop_68));
-                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_45,tmp_qloop_72);
-                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_72);
-                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_70,tmp_qloop_72);
-                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_46,tmp_qloop_48),tmp_qloop_65),_mm256_set_pd(16.0,16.0,16.0,16.0));
-                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_45,tmp_qloop_73);
-                   const __m256d q_tmp_3_5 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_45,tmp_qloop_65),tmp_qloop_70);
-                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_65,_mm256_mul_pd(tmp_qloop_69,tmp_qloop_69));
-                   const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_70,tmp_qloop_73);
-                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_65,_mm256_mul_pd(tmp_qloop_70,tmp_qloop_70));
+                   const __m256d tmp_qloop_0 = _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]))),p_affine_0_0);
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,tmp_qloop_0);
+                   const __m256d tmp_qloop_3 = _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]))),p_affine_0_1);
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(tmp_qloop_3,tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_add_pd(tmp_qloop_2,tmp_qloop_4);
+                   const __m256d tmp_qloop_6 = _mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_sqrt_pd(tmp_qloop_5));
+                   const __m256d tmp_qloop_13 = _mm256_mul_pd(tmp_qloop_6,_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,_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1));
+                   const __m256d tmp_qloop_15 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_5),_mm256_mul_pd(tmp_qloop_5,tmp_qloop_5));
+                   const __m256d tmp_qloop_16 = _mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(rayVertex_0,rayVertex_0,rayVertex_0,rayVertex_0)),tmp_qloop_0),_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1)),_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(rayVertex_1,rayVertex_1,rayVertex_1,rayVertex_1)),tmp_qloop_3),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8))),_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex));
+                   const __m256d tmp_qloop_17 = _mm256_mul_pd(tmp_qloop_15,tmp_qloop_16);
+                   const __m256d tmp_qloop_18 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(1.0,1.0,1.0,1.0));
+                   const __m256d tmp_qloop_19 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8));
+                   const __m256d tmp_qloop_20 = _mm256_mul_pd(tmp_qloop_0,tmp_qloop_18);
+                   const __m256d tmp_qloop_23 = _mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(tmp_qloop_12,tmp_qloop_12,tmp_qloop_12,tmp_qloop_12));
+                   const __m256d tmp_qloop_24 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1));
+                   const __m256d tmp_qloop_25 = _mm256_mul_pd(tmp_qloop_2,tmp_qloop_24);
+                   const __m256d tmp_qloop_26 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_16,_mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_5),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_5),tmp_qloop_5))),_mm256_set_pd(3.0,3.0,3.0,3.0));
+                   const __m256d tmp_qloop_27 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_26),tmp_qloop_4);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_24,tmp_qloop_4));
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(tmp_qloop_7,tmp_qloop_7,tmp_qloop_7,tmp_qloop_7));
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_0,tmp_qloop_3);
+                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_24,tmp_qloop_30);
+                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_26),tmp_qloop_3);
+                   const __m256d tmp_qloop_34 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_18,tmp_qloop_3));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_30);
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_30),_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8));
+                   const __m256d tmp_qloop_37 = _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_38 = _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_39 = _mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_40 = _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_41 = _mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_42 = _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_37),tmp_qloop_39),tmp_qloop_41);
+                   const __m256d tmp_qloop_44 = _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_39);
+                   const __m256d tmp_qloop_46 = _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_41);
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_40,_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_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_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_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d jac_blending_0_0 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_14),_mm256_mul_pd(tmp_qloop_18,tmp_qloop_4));
+                   const __m256d jac_blending_0_1 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_19),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_15),tmp_qloop_16),tmp_qloop_3),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d jac_blending_1_0 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,tmp_qloop_3),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_3),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d jac_blending_1_1 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_3),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_16),tmp_qloop_2),_mm256_set_pd(1.0,1.0,1.0,1.0)));
+                   const __m256d tmp_qloop_21 = _mm256_add_pd(_mm256_mul_pd(jac_blending_0_0,jac_blending_1_1),_mm256_mul_pd(_mm256_mul_pd(jac_blending_0_1,jac_blending_1_0),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_22 = _mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),tmp_qloop_21);
+                   const __m256d abs_det_jac_blending = tmp_qloop_21;
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(_mm256_mul_pd(abs_det_jac_blending,_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_42,tmp_qloop_43);
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_44);
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_46);
+                   const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_47);
+                   const __m256d jac_blending_inv_0_0 = _mm256_mul_pd(jac_blending_1_1,tmp_qloop_22);
+                   const __m256d jac_blending_inv_0_1 = _mm256_mul_pd(_mm256_mul_pd(jac_blending_0_1,tmp_qloop_22),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
+                   const __m256d jac_blending_inv_1_0 = _mm256_mul_pd(_mm256_mul_pd(jac_blending_1_0,tmp_qloop_22),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
+                   const __m256d jac_blending_inv_1_1 = _mm256_mul_pd(jac_blending_0_0,tmp_qloop_22);
+                   const __m256d hessian_blending_0_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_25,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),tmp_qloop_14),tmp_qloop_28);
+                   const __m256d hessian_blending_1_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_4)),_mm256_mul_pd(tmp_qloop_3,tmp_qloop_32)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_3,tmp_qloop_3),tmp_qloop_3)),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d hessian_blending_0_0_1 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_30),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1)),_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)));
+                   const __m256d hessian_blending_1_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_28,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1)),_mm256_set_pd(tmp_qloop_10,tmp_qloop_10,tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(tmp_qloop_9,tmp_qloop_9,tmp_qloop_9,tmp_qloop_9)));
+                   const __m256d hessian_blending_0_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_34,_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_15,tmp_qloop_2),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_10,tmp_qloop_10,tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8)),_mm256_set_pd(tmp_qloop_9,tmp_qloop_9,tmp_qloop_9,tmp_qloop_9)));
+                   const __m256d hessian_blending_1_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_27),tmp_qloop_36);
+                   const __m256d hessian_blending_0_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_32),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_0),tmp_qloop_0),tmp_qloop_26),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_25),tmp_qloop_36);
+                   const __m256d hessian_blending_1_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_33,_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_15,tmp_qloop_2),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_10,tmp_qloop_10,tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(tmp_qloop_7,tmp_qloop_7,tmp_qloop_7,tmp_qloop_7)),_mm256_set_pd(tmp_qloop_9,tmp_qloop_9,tmp_qloop_9,tmp_qloop_9))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_4),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_10,tmp_qloop_10,tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8)),_mm256_set_pd(tmp_qloop_9,tmp_qloop_9,tmp_qloop_9,tmp_qloop_9)));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_42),tmp_qloop_43);
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_44,tmp_qloop_45);
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_45,tmp_qloop_46);
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_37,tmp_qloop_45);
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_45,tmp_qloop_47);
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_45,tmp_qloop_48);
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_43,_mm256_mul_pd(tmp_qloop_44,tmp_qloop_44));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_46,tmp_qloop_49);
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_37,tmp_qloop_49);
+                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_49);
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_48,tmp_qloop_49);
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_43,_mm256_mul_pd(tmp_qloop_46,tmp_qloop_46));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_37,tmp_qloop_50);
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_50);
+                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_48,tmp_qloop_50);
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_40),tmp_qloop_43),_mm256_set_pd(16.0,16.0,16.0,16.0));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_37,tmp_qloop_51);
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,tmp_qloop_43),tmp_qloop_48);
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_43,_mm256_mul_pd(tmp_qloop_47,tmp_qloop_47));
+                   const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_48,tmp_qloop_51);
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_43,_mm256_mul_pd(tmp_qloop_48,tmp_qloop_48));
                    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);
@@ -332,108 +310,91 @@ void P2ElementwiseMassAnnulusMap::apply_P2ElementwiseMassAnnulusMap_macro_2D( re
                 real_t q_acc_4_4 = 0.0;
                 real_t q_acc_4_5 = 0.0;
                 real_t q_acc_5_5 = 0.0;
-                const real_t tmp_qloop_0 = p_affine_0_0 - p_affine_1_0;
-                const real_t tmp_qloop_1 = p_affine_0_0 - p_affine_2_0;
-                const real_t tmp_qloop_6 = p_affine_0_1 - p_affine_1_1;
-                const real_t tmp_qloop_7 = p_affine_0_1 - p_affine_2_1;
                 for (int64_t q = 0; q < 6; q += 1)
                 {
-                   const real_t tmp_qloop_2 = p_affine_0_0 - tmp_qloop_0*_data_q_p_0[q] - tmp_qloop_1*_data_q_p_1[q];
-                   const real_t tmp_qloop_5 = (tmp_qloop_2*tmp_qloop_2);
-                   const real_t tmp_qloop_8 = p_affine_0_1 - tmp_qloop_6*_data_q_p_0[q] - tmp_qloop_7*_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_5 + tmp_qloop_9;
-                   const real_t tmp_qloop_11 = pow(tmp_qloop_10, -0.50000000000000000);
-                   const real_t tmp_qloop_21 = tmp_qloop_11*tmp_qloop_20;
-                   const real_t tmp_qloop_22 = tmp_qloop_21*tmp_qloop_4;
-                   const real_t tmp_qloop_23 = pow(tmp_qloop_10, -1.5000000000000000);
-                   const real_t tmp_qloop_24 = radRayVertex + tmp_qloop_19*(-tmp_qloop_14*(-rayVertex_1 + tmp_qloop_8) + tmp_qloop_4*(-rayVertex_0 + tmp_qloop_2));
-                   const real_t tmp_qloop_25 = tmp_qloop_23*tmp_qloop_24;
-                   const real_t tmp_qloop_26 = tmp_qloop_25*1.0;
-                   const real_t tmp_qloop_27 = tmp_qloop_14*tmp_qloop_21;
-                   const real_t tmp_qloop_28 = tmp_qloop_2*tmp_qloop_26;
-                   const real_t tmp_qloop_31 = tmp_qloop_20*tmp_qloop_23;
-                   const real_t tmp_qloop_32 = tmp_qloop_31*tmp_qloop_4;
-                   const real_t tmp_qloop_33 = tmp_qloop_32*tmp_qloop_5;
-                   const real_t tmp_qloop_34 = pow(tmp_qloop_10, -2.5000000000000000)*tmp_qloop_24*3.0;
-                   const real_t tmp_qloop_35 = tmp_qloop_2*tmp_qloop_34*tmp_qloop_9;
-                   const real_t tmp_qloop_36 = tmp_qloop_32*tmp_qloop_9 - tmp_qloop_35;
-                   const real_t tmp_qloop_37 = tmp_qloop_13*tmp_qloop_31;
-                   const real_t tmp_qloop_38 = tmp_qloop_2*tmp_qloop_8;
-                   const real_t tmp_qloop_39 = tmp_qloop_32*tmp_qloop_38;
-                   const real_t tmp_qloop_40 = tmp_qloop_25*2.0;
-                   const real_t tmp_qloop_41 = tmp_qloop_34*tmp_qloop_5*tmp_qloop_8;
-                   const real_t tmp_qloop_42 = tmp_qloop_26*tmp_qloop_8 - tmp_qloop_41;
-                   const real_t tmp_qloop_43 = tmp_qloop_37*tmp_qloop_38;
-                   const real_t tmp_qloop_44 = tmp_qloop_14*tmp_qloop_31*tmp_qloop_38;
-                   const real_t tmp_qloop_45 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
-                   const real_t tmp_qloop_46 = (_data_q_p_0[q]*_data_q_p_0[q]);
-                   const real_t tmp_qloop_47 = tmp_qloop_46*2.0;
-                   const real_t tmp_qloop_48 = (_data_q_p_1[q]*_data_q_p_1[q]);
-                   const real_t tmp_qloop_49 = tmp_qloop_48*2.0;
-                   const real_t tmp_qloop_50 = tmp_qloop_45 + tmp_qloop_47 + tmp_qloop_49 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0;
-                   const real_t tmp_qloop_51 = -p_affine_0_0 + tmp_qloop_0*_data_q_p_0[q] + tmp_qloop_1*_data_q_p_1[q];
-                   const real_t tmp_qloop_52 = (tmp_qloop_51*tmp_qloop_51);
-                   const real_t tmp_qloop_53 = -p_affine_0_1 + tmp_qloop_6*_data_q_p_0[q] + tmp_qloop_7*_data_q_p_1[q];
-                   const real_t tmp_qloop_54 = (tmp_qloop_53*tmp_qloop_53);
-                   const real_t tmp_qloop_55 = tmp_qloop_52 + tmp_qloop_54;
-                   const real_t tmp_qloop_57 = pow(tmp_qloop_55, -0.50000000000000000)*tmp_qloop_56*1.0;
-                   const real_t tmp_qloop_58 = tmp_qloop_51*tmp_qloop_57;
-                   const real_t tmp_qloop_59 = tmp_qloop_13*(rayVertex_1 + tmp_qloop_53) - tmp_qloop_3*(rayVertex_0 + tmp_qloop_51);
-                   const real_t tmp_qloop_60 = pow(tmp_qloop_55, -1.5000000000000000)*1.0;
-                   const real_t tmp_qloop_61 = tmp_qloop_60*(radRayVertex + tmp_qloop_56*tmp_qloop_59);
-                   const real_t tmp_qloop_62 = tmp_qloop_53*tmp_qloop_57;
-                   const real_t tmp_qloop_63 = tmp_qloop_60*(radRayVertex + tmp_qloop_56*tmp_qloop_59);
-                   const real_t tmp_qloop_64 = tmp_qloop_51*tmp_qloop_53;
-                   const real_t tmp_qloop_65 = abs_det_jac_affine_GRAY*abs((tmp_qloop_13*tmp_qloop_58 - tmp_qloop_63*tmp_qloop_64)*(tmp_qloop_3*tmp_qloop_62 + tmp_qloop_61*tmp_qloop_64) - (tmp_qloop_13*tmp_qloop_62 + tmp_qloop_52*tmp_qloop_63)*(tmp_qloop_3*tmp_qloop_58 - tmp_qloop_54*tmp_qloop_61))*_data_q_w[q];
-                   const real_t tmp_qloop_66 = tmp_qloop_47 - _data_q_p_0[q];
-                   const real_t tmp_qloop_67 = tmp_qloop_50*tmp_qloop_65;
-                   const real_t tmp_qloop_68 = tmp_qloop_49 - _data_q_p_1[q];
-                   const real_t tmp_qloop_69 = -tmp_qloop_45 + tmp_qloop_48*-4.0 + 4.0*_data_q_p_1[q];
-                   const real_t tmp_qloop_70 = -tmp_qloop_45 + tmp_qloop_46*-4.0 + 4.0*_data_q_p_0[q];
-                   const real_t tmp_qloop_71 = tmp_qloop_65*tmp_qloop_66;
-                   const real_t tmp_qloop_72 = tmp_qloop_65*tmp_qloop_68;
-                   const real_t tmp_qloop_73 = tmp_qloop_65*tmp_qloop_69;
-                   const real_t jac_blending_0_0 = tmp_qloop_2*tmp_qloop_22 + tmp_qloop_26*tmp_qloop_9;
-                   const real_t jac_blending_0_1 = -tmp_qloop_2*tmp_qloop_23*tmp_qloop_24*tmp_qloop_8 - tmp_qloop_2*tmp_qloop_27;
-                   const real_t jac_blending_1_0 = tmp_qloop_22*tmp_qloop_8 - tmp_qloop_28*tmp_qloop_8;
-                   const real_t jac_blending_1_1 = tmp_qloop_23*tmp_qloop_24*tmp_qloop_5*1.0 - tmp_qloop_27*tmp_qloop_8;
-                   const real_t tmp_qloop_29 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
-                   const real_t tmp_qloop_30 = 1.0 / (tmp_qloop_29);
-                   const real_t abs_det_jac_blending = tmp_qloop_29;
-                   const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_30;
-                   const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_30;
-                   const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_30;
-                   const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_30;
-                   const real_t hessian_blending_0_0_0 = tmp_qloop_22 - tmp_qloop_33 + tmp_qloop_36;
-                   const real_t hessian_blending_1_0_0 = -tmp_qloop_34*(tmp_qloop_8*tmp_qloop_8*tmp_qloop_8) + tmp_qloop_37*tmp_qloop_9 - tmp_qloop_39 + tmp_qloop_40*tmp_qloop_8;
-                   const real_t hessian_blending_0_0_1 = tmp_qloop_19*tmp_qloop_23*tmp_qloop_38*tmp_qloop_4*-2.0 - tmp_qloop_42;
-                   const real_t hessian_blending_1_0_1 = tmp_qloop_11*tmp_qloop_16*tmp_qloop_18*tmp_qloop_4*1.0 - tmp_qloop_28 - tmp_qloop_36 - tmp_qloop_43;
-                   const real_t hessian_blending_0_1_0 = tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 - tmp_qloop_27 - tmp_qloop_39 - tmp_qloop_42;
-                   const real_t hessian_blending_1_1_0 = -tmp_qloop_28 + tmp_qloop_35 - tmp_qloop_43 + tmp_qloop_44;
-                   const real_t hessian_blending_0_1_1 = tmp_qloop_2*tmp_qloop_40 - (tmp_qloop_2*tmp_qloop_2*tmp_qloop_2)*tmp_qloop_34 + tmp_qloop_33 + tmp_qloop_44;
-                   const real_t hessian_blending_1_1_1 = tmp_qloop_13*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 + tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_9*1.0 - tmp_qloop_27 - tmp_qloop_41;
-                   const real_t q_tmp_0_0 = (tmp_qloop_50*tmp_qloop_50)*tmp_qloop_65;
-                   const real_t q_tmp_0_1 = tmp_qloop_66*tmp_qloop_67;
-                   const real_t q_tmp_0_2 = tmp_qloop_67*tmp_qloop_68;
-                   const real_t q_tmp_0_3 = tmp_qloop_45*tmp_qloop_67;
-                   const real_t q_tmp_0_4 = tmp_qloop_67*tmp_qloop_69;
-                   const real_t q_tmp_0_5 = tmp_qloop_67*tmp_qloop_70;
-                   const real_t q_tmp_1_1 = tmp_qloop_65*(tmp_qloop_66*tmp_qloop_66);
-                   const real_t q_tmp_1_2 = tmp_qloop_68*tmp_qloop_71;
-                   const real_t q_tmp_1_3 = tmp_qloop_45*tmp_qloop_71;
-                   const real_t q_tmp_1_4 = tmp_qloop_69*tmp_qloop_71;
-                   const real_t q_tmp_1_5 = tmp_qloop_70*tmp_qloop_71;
-                   const real_t q_tmp_2_2 = tmp_qloop_65*(tmp_qloop_68*tmp_qloop_68);
-                   const real_t q_tmp_2_3 = tmp_qloop_45*tmp_qloop_72;
-                   const real_t q_tmp_2_4 = tmp_qloop_69*tmp_qloop_72;
-                   const real_t q_tmp_2_5 = tmp_qloop_70*tmp_qloop_72;
-                   const real_t q_tmp_3_3 = tmp_qloop_46*tmp_qloop_48*tmp_qloop_65*16.0;
-                   const real_t q_tmp_3_4 = tmp_qloop_45*tmp_qloop_73;
-                   const real_t q_tmp_3_5 = tmp_qloop_45*tmp_qloop_65*tmp_qloop_70;
-                   const real_t q_tmp_4_4 = tmp_qloop_65*(tmp_qloop_69*tmp_qloop_69);
-                   const real_t q_tmp_4_5 = tmp_qloop_70*tmp_qloop_73;
-                   const real_t q_tmp_5_5 = tmp_qloop_65*(tmp_qloop_70*tmp_qloop_70);
+                   const real_t tmp_qloop_0 = 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_2 = (tmp_qloop_0*tmp_qloop_0);
+                   const real_t tmp_qloop_3 = 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_4 = (tmp_qloop_3*tmp_qloop_3);
+                   const real_t tmp_qloop_5 = tmp_qloop_2 + tmp_qloop_4;
+                   const real_t tmp_qloop_6 = pow(tmp_qloop_5, -0.50000000000000000);
+                   const real_t tmp_qloop_13 = tmp_qloop_12*tmp_qloop_6;
+                   const real_t tmp_qloop_14 = tmp_qloop_1*tmp_qloop_13;
+                   const real_t tmp_qloop_15 = pow(tmp_qloop_5, -1.5000000000000000);
+                   const real_t tmp_qloop_16 = radRayVertex + tmp_qloop_11*(tmp_qloop_1*(-rayVertex_0 + tmp_qloop_0) - tmp_qloop_8*(-rayVertex_1 + tmp_qloop_3));
+                   const real_t tmp_qloop_17 = tmp_qloop_15*tmp_qloop_16;
+                   const real_t tmp_qloop_18 = tmp_qloop_17*1.0;
+                   const real_t tmp_qloop_19 = tmp_qloop_13*tmp_qloop_8;
+                   const real_t tmp_qloop_20 = tmp_qloop_0*tmp_qloop_18;
+                   const real_t tmp_qloop_23 = tmp_qloop_12*tmp_qloop_15;
+                   const real_t tmp_qloop_24 = tmp_qloop_1*tmp_qloop_23;
+                   const real_t tmp_qloop_25 = tmp_qloop_2*tmp_qloop_24;
+                   const real_t tmp_qloop_26 = tmp_qloop_16*pow(tmp_qloop_5, -2.5000000000000000)*3.0;
+                   const real_t tmp_qloop_27 = tmp_qloop_0*tmp_qloop_26*tmp_qloop_4;
+                   const real_t tmp_qloop_28 = tmp_qloop_24*tmp_qloop_4 - tmp_qloop_27;
+                   const real_t tmp_qloop_29 = tmp_qloop_23*tmp_qloop_7;
+                   const real_t tmp_qloop_30 = tmp_qloop_0*tmp_qloop_3;
+                   const real_t tmp_qloop_31 = tmp_qloop_24*tmp_qloop_30;
+                   const real_t tmp_qloop_32 = tmp_qloop_17*2.0;
+                   const real_t tmp_qloop_33 = tmp_qloop_2*tmp_qloop_26*tmp_qloop_3;
+                   const real_t tmp_qloop_34 = tmp_qloop_18*tmp_qloop_3 - tmp_qloop_33;
+                   const real_t tmp_qloop_35 = tmp_qloop_29*tmp_qloop_30;
+                   const real_t tmp_qloop_36 = tmp_qloop_23*tmp_qloop_30*tmp_qloop_8;
+                   const real_t tmp_qloop_37 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                   const real_t tmp_qloop_38 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_39 = tmp_qloop_38*2.0;
+                   const real_t tmp_qloop_40 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_41 = tmp_qloop_40*2.0;
+                   const real_t tmp_qloop_42 = tmp_qloop_37 + tmp_qloop_39 + tmp_qloop_41 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0;
+                   const real_t tmp_qloop_44 = tmp_qloop_39 - _data_q_p_0[q];
+                   const real_t tmp_qloop_46 = tmp_qloop_41 - _data_q_p_1[q];
+                   const real_t tmp_qloop_47 = -tmp_qloop_37 + tmp_qloop_40*-4.0 + 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_48 = -tmp_qloop_37 + tmp_qloop_38*-4.0 + 4.0*_data_q_p_0[q];
+                   const real_t jac_blending_0_0 = tmp_qloop_0*tmp_qloop_14 + tmp_qloop_18*tmp_qloop_4;
+                   const real_t jac_blending_0_1 = -tmp_qloop_0*tmp_qloop_15*tmp_qloop_16*tmp_qloop_3 - tmp_qloop_0*tmp_qloop_19;
+                   const real_t jac_blending_1_0 = tmp_qloop_14*tmp_qloop_3 - tmp_qloop_20*tmp_qloop_3;
+                   const real_t jac_blending_1_1 = tmp_qloop_15*tmp_qloop_16*tmp_qloop_2*1.0 - tmp_qloop_19*tmp_qloop_3;
+                   const real_t tmp_qloop_21 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
+                   const real_t tmp_qloop_22 = 1.0 / (tmp_qloop_21);
+                   const real_t abs_det_jac_blending = tmp_qloop_21;
+                   const real_t tmp_qloop_43 = abs_det_jac_affine_GRAY*abs_det_jac_blending*_data_q_w[q];
+                   const real_t tmp_qloop_45 = tmp_qloop_42*tmp_qloop_43;
+                   const real_t tmp_qloop_49 = tmp_qloop_43*tmp_qloop_44;
+                   const real_t tmp_qloop_50 = tmp_qloop_43*tmp_qloop_46;
+                   const real_t tmp_qloop_51 = tmp_qloop_43*tmp_qloop_47;
+                   const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_22;
+                   const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_22;
+                   const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_22;
+                   const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_22;
+                   const real_t hessian_blending_0_0_0 = tmp_qloop_14 - tmp_qloop_25 + tmp_qloop_28;
+                   const real_t hessian_blending_1_0_0 = -tmp_qloop_26*(tmp_qloop_3*tmp_qloop_3*tmp_qloop_3) + tmp_qloop_29*tmp_qloop_4 + tmp_qloop_3*tmp_qloop_32 - tmp_qloop_31;
+                   const real_t hessian_blending_0_0_1 = tmp_qloop_1*tmp_qloop_11*tmp_qloop_15*tmp_qloop_30*-2.0 - tmp_qloop_34;
+                   const real_t hessian_blending_1_0_1 = tmp_qloop_1*tmp_qloop_10*tmp_qloop_6*tmp_qloop_9*1.0 - tmp_qloop_20 - tmp_qloop_28 - tmp_qloop_35;
+                   const real_t hessian_blending_0_1_0 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_31 - tmp_qloop_34;
+                   const real_t hessian_blending_1_1_0 = -tmp_qloop_20 + tmp_qloop_27 - tmp_qloop_35 + tmp_qloop_36;
+                   const real_t hessian_blending_0_1_1 = tmp_qloop_0*tmp_qloop_32 - (tmp_qloop_0*tmp_qloop_0*tmp_qloop_0)*tmp_qloop_26 + tmp_qloop_25 + tmp_qloop_36;
+                   const real_t hessian_blending_1_1_1 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_7*tmp_qloop_9*1.0 + tmp_qloop_10*tmp_qloop_15*tmp_qloop_4*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_33;
+                   const real_t q_tmp_0_0 = (tmp_qloop_42*tmp_qloop_42)*tmp_qloop_43;
+                   const real_t q_tmp_0_1 = tmp_qloop_44*tmp_qloop_45;
+                   const real_t q_tmp_0_2 = tmp_qloop_45*tmp_qloop_46;
+                   const real_t q_tmp_0_3 = tmp_qloop_37*tmp_qloop_45;
+                   const real_t q_tmp_0_4 = tmp_qloop_45*tmp_qloop_47;
+                   const real_t q_tmp_0_5 = tmp_qloop_45*tmp_qloop_48;
+                   const real_t q_tmp_1_1 = tmp_qloop_43*(tmp_qloop_44*tmp_qloop_44);
+                   const real_t q_tmp_1_2 = tmp_qloop_46*tmp_qloop_49;
+                   const real_t q_tmp_1_3 = tmp_qloop_37*tmp_qloop_49;
+                   const real_t q_tmp_1_4 = tmp_qloop_47*tmp_qloop_49;
+                   const real_t q_tmp_1_5 = tmp_qloop_48*tmp_qloop_49;
+                   const real_t q_tmp_2_2 = tmp_qloop_43*(tmp_qloop_46*tmp_qloop_46);
+                   const real_t q_tmp_2_3 = tmp_qloop_37*tmp_qloop_50;
+                   const real_t q_tmp_2_4 = tmp_qloop_47*tmp_qloop_50;
+                   const real_t q_tmp_2_5 = tmp_qloop_48*tmp_qloop_50;
+                   const real_t q_tmp_3_3 = tmp_qloop_38*tmp_qloop_40*tmp_qloop_43*16.0;
+                   const real_t q_tmp_3_4 = tmp_qloop_37*tmp_qloop_51;
+                   const real_t q_tmp_3_5 = tmp_qloop_37*tmp_qloop_43*tmp_qloop_48;
+                   const real_t q_tmp_4_4 = tmp_qloop_43*(tmp_qloop_47*tmp_qloop_47);
+                   const real_t q_tmp_4_5 = tmp_qloop_48*tmp_qloop_51;
+                   const real_t q_tmp_5_5 = tmp_qloop_43*(tmp_qloop_48*tmp_qloop_48);
                    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;
@@ -539,108 +500,91 @@ void P2ElementwiseMassAnnulusMap::apply_P2ElementwiseMassAnnulusMap_macro_2D( re
                 __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
                 __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
                 __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
-                const __m256d tmp_qloop_0 = _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);
-                const __m256d tmp_qloop_1 = _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);
-                const __m256d tmp_qloop_6 = _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);
-                const __m256d tmp_qloop_7 = _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);
                 for (int64_t q = 0; q < 6; q += 1)
                 {
-                   const __m256d tmp_qloop_2 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,_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])),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_1,_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]))),p_affine_0_0);
-                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_2,tmp_qloop_2);
-                   const __m256d tmp_qloop_8 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_6,_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])),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_7,_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]))),p_affine_0_1);
-                   const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,tmp_qloop_8);
-                   const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_9);
-                   const __m256d tmp_qloop_11 = _mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_sqrt_pd(tmp_qloop_10));
-                   const __m256d tmp_qloop_21 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20));
-                   const __m256d tmp_qloop_22 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4));
-                   const __m256d tmp_qloop_23 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_10),_mm256_mul_pd(tmp_qloop_10,tmp_qloop_10));
-                   const __m256d tmp_qloop_24 = _mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(rayVertex_0,rayVertex_0,rayVertex_0,rayVertex_0)),tmp_qloop_2),_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4)),_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(rayVertex_1,rayVertex_1,rayVertex_1,rayVertex_1)),tmp_qloop_8),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14))),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex));
-                   const __m256d tmp_qloop_25 = _mm256_mul_pd(tmp_qloop_23,tmp_qloop_24);
-                   const __m256d tmp_qloop_26 = _mm256_mul_pd(tmp_qloop_25,_mm256_set_pd(1.0,1.0,1.0,1.0));
-                   const __m256d tmp_qloop_27 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14));
-                   const __m256d tmp_qloop_28 = _mm256_mul_pd(tmp_qloop_2,tmp_qloop_26);
-                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20));
-                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4));
-                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_32,tmp_qloop_5);
-                   const __m256d tmp_qloop_34 = _mm256_mul_pd(_mm256_mul_pd(_mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_10),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_10,tmp_qloop_10),tmp_qloop_10)),tmp_qloop_24),_mm256_set_pd(3.0,3.0,3.0,3.0));
-                   const __m256d tmp_qloop_35 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_34),tmp_qloop_9);
-                   const __m256d tmp_qloop_36 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_32,tmp_qloop_9));
-                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13));
-                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_2,tmp_qloop_8);
-                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_32,tmp_qloop_38);
-                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_25,_mm256_set_pd(2.0,2.0,2.0,2.0));
-                   const __m256d tmp_qloop_41 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_34,tmp_qloop_5),tmp_qloop_8);
-                   const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_8));
-                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_37,tmp_qloop_38);
-                   const __m256d tmp_qloop_44 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_31,tmp_qloop_38),_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14));
-                   const __m256d tmp_qloop_45 = _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_46 = _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_47 = _mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(2.0,2.0,2.0,2.0));
-                   const __m256d tmp_qloop_48 = _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_49 = _mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(2.0,2.0,2.0,2.0));
-                   const __m256d tmp_qloop_50 = _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_45),tmp_qloop_47),tmp_qloop_49);
-                   const __m256d tmp_qloop_51 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_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_1,_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_52 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_51);
-                   const __m256d tmp_qloop_53 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_6,_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_7,_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_54 = _mm256_mul_pd(tmp_qloop_53,tmp_qloop_53);
-                   const __m256d tmp_qloop_55 = _mm256_add_pd(tmp_qloop_52,tmp_qloop_54);
-                   const __m256d tmp_qloop_57 = _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_55)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_56,tmp_qloop_56,tmp_qloop_56,tmp_qloop_56));
-                   const __m256d tmp_qloop_58 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_57);
-                   const __m256d tmp_qloop_59 = _mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(rayVertex_1,rayVertex_1,rayVertex_1,rayVertex_1),tmp_qloop_53),_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(rayVertex_0,rayVertex_0,rayVertex_0,rayVertex_0),tmp_qloop_51),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_3,tmp_qloop_3,tmp_qloop_3,tmp_qloop_3)));
-                   const __m256d tmp_qloop_60 = _mm256_mul_pd(_mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_55),_mm256_mul_pd(tmp_qloop_55,tmp_qloop_55)),_mm256_set_pd(1.0,1.0,1.0,1.0));
-                   const __m256d tmp_qloop_61 = _mm256_mul_pd(tmp_qloop_60,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_59,_mm256_set_pd(tmp_qloop_56,tmp_qloop_56,tmp_qloop_56,tmp_qloop_56)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex)));
-                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_53,tmp_qloop_57);
-                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_60,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_59,_mm256_set_pd(tmp_qloop_56,tmp_qloop_56,tmp_qloop_56,tmp_qloop_56)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex)));
-                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_53);
-                   const __m256d tmp_qloop_65 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q]),_mm256_set_pd(abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE)),_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_58,_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,tmp_qloop_64),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_qloop_3,tmp_qloop_3,tmp_qloop_3,tmp_qloop_3)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_64))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13)),_mm256_mul_pd(tmp_qloop_52,tmp_qloop_63)),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(tmp_qloop_3,tmp_qloop_3,tmp_qloop_3,tmp_qloop_3)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_54,tmp_qloop_61),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)))))));
-                   const __m256d tmp_qloop_66 = _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_47);
-                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_50,tmp_qloop_65);
-                   const __m256d tmp_qloop_68 = _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_49);
-                   const __m256d tmp_qloop_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_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_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d tmp_qloop_70 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_46,_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_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d tmp_qloop_71 = _mm256_mul_pd(tmp_qloop_65,tmp_qloop_66);
-                   const __m256d tmp_qloop_72 = _mm256_mul_pd(tmp_qloop_65,tmp_qloop_68);
-                   const __m256d tmp_qloop_73 = _mm256_mul_pd(tmp_qloop_65,tmp_qloop_69);
-                   const __m256d jac_blending_0_0 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_22),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_9));
-                   const __m256d jac_blending_0_1 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_27),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_23),tmp_qloop_24),tmp_qloop_8),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d jac_blending_1_0 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_8),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_8),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d jac_blending_1_1 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_27,tmp_qloop_8),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_24),tmp_qloop_5),_mm256_set_pd(1.0,1.0,1.0,1.0)));
-                   const __m256d tmp_qloop_29 = _mm256_add_pd(_mm256_mul_pd(jac_blending_0_0,jac_blending_1_1),_mm256_mul_pd(_mm256_mul_pd(jac_blending_0_1,jac_blending_1_0),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d tmp_qloop_30 = _mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),tmp_qloop_29);
-                   const __m256d abs_det_jac_blending = tmp_qloop_29;
-                   const __m256d jac_blending_inv_0_0 = _mm256_mul_pd(jac_blending_1_1,tmp_qloop_30);
-                   const __m256d jac_blending_inv_0_1 = _mm256_mul_pd(_mm256_mul_pd(jac_blending_0_1,tmp_qloop_30),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
-                   const __m256d jac_blending_inv_1_0 = _mm256_mul_pd(_mm256_mul_pd(jac_blending_1_0,tmp_qloop_30),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
-                   const __m256d jac_blending_inv_1_1 = _mm256_mul_pd(jac_blending_0_0,tmp_qloop_30);
-                   const __m256d hessian_blending_0_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),tmp_qloop_22),tmp_qloop_36);
-                   const __m256d hessian_blending_1_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_37,tmp_qloop_9)),_mm256_mul_pd(tmp_qloop_40,tmp_qloop_8)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_8,tmp_qloop_8),tmp_qloop_8)),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d hessian_blending_0_0_1 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_38),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4)));
-                   const __m256d hessian_blending_1_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_16,tmp_qloop_16,tmp_qloop_16,tmp_qloop_16)),_mm256_set_pd(tmp_qloop_18,tmp_qloop_18,tmp_qloop_18,tmp_qloop_18)),_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4)));
-                   const __m256d hessian_blending_0_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_42,_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_23,tmp_qloop_5),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14)),_mm256_set_pd(tmp_qloop_16,tmp_qloop_16,tmp_qloop_16,tmp_qloop_16)),_mm256_set_pd(tmp_qloop_18,tmp_qloop_18,tmp_qloop_18,tmp_qloop_18)));
-                   const __m256d hessian_blending_1_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_35),tmp_qloop_44);
-                   const __m256d hessian_blending_0_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_40),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_2),tmp_qloop_2),tmp_qloop_34),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_33),tmp_qloop_44);
-                   const __m256d hessian_blending_1_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_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_23,tmp_qloop_5),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13)),_mm256_set_pd(tmp_qloop_16,tmp_qloop_16,tmp_qloop_16,tmp_qloop_16)),_mm256_set_pd(tmp_qloop_18,tmp_qloop_18,tmp_qloop_18,tmp_qloop_18))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_9),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14)),_mm256_set_pd(tmp_qloop_16,tmp_qloop_16,tmp_qloop_16,tmp_qloop_16)),_mm256_set_pd(tmp_qloop_18,tmp_qloop_18,tmp_qloop_18,tmp_qloop_18)));
-                   const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_50,tmp_qloop_50),tmp_qloop_65);
-                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_67);
-                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_67,tmp_qloop_68);
-                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_45,tmp_qloop_67);
-                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_67,tmp_qloop_69);
-                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_67,tmp_qloop_70);
-                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_65,_mm256_mul_pd(tmp_qloop_66,tmp_qloop_66));
-                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_68,tmp_qloop_71);
-                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_45,tmp_qloop_71);
-                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_71);
-                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_70,tmp_qloop_71);
-                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_65,_mm256_mul_pd(tmp_qloop_68,tmp_qloop_68));
-                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_45,tmp_qloop_72);
-                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_72);
-                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_70,tmp_qloop_72);
-                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_46,tmp_qloop_48),tmp_qloop_65),_mm256_set_pd(16.0,16.0,16.0,16.0));
-                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_45,tmp_qloop_73);
-                   const __m256d q_tmp_3_5 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_45,tmp_qloop_65),tmp_qloop_70);
-                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_65,_mm256_mul_pd(tmp_qloop_69,tmp_qloop_69));
-                   const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_70,tmp_qloop_73);
-                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_65,_mm256_mul_pd(tmp_qloop_70,tmp_qloop_70));
+                   const __m256d tmp_qloop_0 = _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]))),p_affine_0_0);
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,tmp_qloop_0);
+                   const __m256d tmp_qloop_3 = _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]))),p_affine_0_1);
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(tmp_qloop_3,tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_add_pd(tmp_qloop_2,tmp_qloop_4);
+                   const __m256d tmp_qloop_6 = _mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_sqrt_pd(tmp_qloop_5));
+                   const __m256d tmp_qloop_13 = _mm256_mul_pd(tmp_qloop_6,_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,_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1));
+                   const __m256d tmp_qloop_15 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_5),_mm256_mul_pd(tmp_qloop_5,tmp_qloop_5));
+                   const __m256d tmp_qloop_16 = _mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(rayVertex_0,rayVertex_0,rayVertex_0,rayVertex_0)),tmp_qloop_0),_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1)),_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(rayVertex_1,rayVertex_1,rayVertex_1,rayVertex_1)),tmp_qloop_3),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8))),_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex));
+                   const __m256d tmp_qloop_17 = _mm256_mul_pd(tmp_qloop_15,tmp_qloop_16);
+                   const __m256d tmp_qloop_18 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(1.0,1.0,1.0,1.0));
+                   const __m256d tmp_qloop_19 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8));
+                   const __m256d tmp_qloop_20 = _mm256_mul_pd(tmp_qloop_0,tmp_qloop_18);
+                   const __m256d tmp_qloop_23 = _mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(tmp_qloop_12,tmp_qloop_12,tmp_qloop_12,tmp_qloop_12));
+                   const __m256d tmp_qloop_24 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1));
+                   const __m256d tmp_qloop_25 = _mm256_mul_pd(tmp_qloop_2,tmp_qloop_24);
+                   const __m256d tmp_qloop_26 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_16,_mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_5),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_5),tmp_qloop_5))),_mm256_set_pd(3.0,3.0,3.0,3.0));
+                   const __m256d tmp_qloop_27 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_26),tmp_qloop_4);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_24,tmp_qloop_4));
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(tmp_qloop_7,tmp_qloop_7,tmp_qloop_7,tmp_qloop_7));
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_0,tmp_qloop_3);
+                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_24,tmp_qloop_30);
+                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_26),tmp_qloop_3);
+                   const __m256d tmp_qloop_34 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_18,tmp_qloop_3));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_30);
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_30),_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8));
+                   const __m256d tmp_qloop_37 = _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_38 = _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_39 = _mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_40 = _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_41 = _mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_42 = _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_37),tmp_qloop_39),tmp_qloop_41);
+                   const __m256d tmp_qloop_44 = _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_39);
+                   const __m256d tmp_qloop_46 = _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_41);
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_40,_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_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_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_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d jac_blending_0_0 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_14),_mm256_mul_pd(tmp_qloop_18,tmp_qloop_4));
+                   const __m256d jac_blending_0_1 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_19),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_15),tmp_qloop_16),tmp_qloop_3),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d jac_blending_1_0 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,tmp_qloop_3),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_3),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d jac_blending_1_1 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_3),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_16),tmp_qloop_2),_mm256_set_pd(1.0,1.0,1.0,1.0)));
+                   const __m256d tmp_qloop_21 = _mm256_add_pd(_mm256_mul_pd(jac_blending_0_0,jac_blending_1_1),_mm256_mul_pd(_mm256_mul_pd(jac_blending_0_1,jac_blending_1_0),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_22 = _mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),tmp_qloop_21);
+                   const __m256d abs_det_jac_blending = tmp_qloop_21;
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(_mm256_mul_pd(abs_det_jac_blending,_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_42,tmp_qloop_43);
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_44);
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_46);
+                   const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_47);
+                   const __m256d jac_blending_inv_0_0 = _mm256_mul_pd(jac_blending_1_1,tmp_qloop_22);
+                   const __m256d jac_blending_inv_0_1 = _mm256_mul_pd(_mm256_mul_pd(jac_blending_0_1,tmp_qloop_22),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
+                   const __m256d jac_blending_inv_1_0 = _mm256_mul_pd(_mm256_mul_pd(jac_blending_1_0,tmp_qloop_22),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
+                   const __m256d jac_blending_inv_1_1 = _mm256_mul_pd(jac_blending_0_0,tmp_qloop_22);
+                   const __m256d hessian_blending_0_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_25,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),tmp_qloop_14),tmp_qloop_28);
+                   const __m256d hessian_blending_1_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_4)),_mm256_mul_pd(tmp_qloop_3,tmp_qloop_32)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_3,tmp_qloop_3),tmp_qloop_3)),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d hessian_blending_0_0_1 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_30),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1)),_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)));
+                   const __m256d hessian_blending_1_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_28,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1)),_mm256_set_pd(tmp_qloop_10,tmp_qloop_10,tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(tmp_qloop_9,tmp_qloop_9,tmp_qloop_9,tmp_qloop_9)));
+                   const __m256d hessian_blending_0_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_34,_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_15,tmp_qloop_2),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_10,tmp_qloop_10,tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8)),_mm256_set_pd(tmp_qloop_9,tmp_qloop_9,tmp_qloop_9,tmp_qloop_9)));
+                   const __m256d hessian_blending_1_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_27),tmp_qloop_36);
+                   const __m256d hessian_blending_0_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_32),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_0),tmp_qloop_0),tmp_qloop_26),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_25),tmp_qloop_36);
+                   const __m256d hessian_blending_1_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_33,_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_15,tmp_qloop_2),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_10,tmp_qloop_10,tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(tmp_qloop_7,tmp_qloop_7,tmp_qloop_7,tmp_qloop_7)),_mm256_set_pd(tmp_qloop_9,tmp_qloop_9,tmp_qloop_9,tmp_qloop_9))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_4),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_10,tmp_qloop_10,tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8)),_mm256_set_pd(tmp_qloop_9,tmp_qloop_9,tmp_qloop_9,tmp_qloop_9)));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_42),tmp_qloop_43);
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_44,tmp_qloop_45);
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_45,tmp_qloop_46);
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_37,tmp_qloop_45);
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_45,tmp_qloop_47);
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_45,tmp_qloop_48);
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_43,_mm256_mul_pd(tmp_qloop_44,tmp_qloop_44));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_46,tmp_qloop_49);
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_37,tmp_qloop_49);
+                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_49);
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_48,tmp_qloop_49);
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_43,_mm256_mul_pd(tmp_qloop_46,tmp_qloop_46));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_37,tmp_qloop_50);
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_47,tmp_qloop_50);
+                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_48,tmp_qloop_50);
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_40),tmp_qloop_43),_mm256_set_pd(16.0,16.0,16.0,16.0));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_37,tmp_qloop_51);
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,tmp_qloop_43),tmp_qloop_48);
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_43,_mm256_mul_pd(tmp_qloop_47,tmp_qloop_47));
+                   const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_48,tmp_qloop_51);
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_43,_mm256_mul_pd(tmp_qloop_48,tmp_qloop_48));
                    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);
@@ -724,108 +668,91 @@ void P2ElementwiseMassAnnulusMap::apply_P2ElementwiseMassAnnulusMap_macro_2D( re
                 real_t q_acc_4_4 = 0.0;
                 real_t q_acc_4_5 = 0.0;
                 real_t q_acc_5_5 = 0.0;
-                const real_t tmp_qloop_0 = p_affine_0_0 - p_affine_1_0;
-                const real_t tmp_qloop_1 = p_affine_0_0 - p_affine_2_0;
-                const real_t tmp_qloop_6 = p_affine_0_1 - p_affine_1_1;
-                const real_t tmp_qloop_7 = p_affine_0_1 - p_affine_2_1;
                 for (int64_t q = 0; q < 6; q += 1)
                 {
-                   const real_t tmp_qloop_2 = p_affine_0_0 - tmp_qloop_0*_data_q_p_0[q] - tmp_qloop_1*_data_q_p_1[q];
-                   const real_t tmp_qloop_5 = (tmp_qloop_2*tmp_qloop_2);
-                   const real_t tmp_qloop_8 = p_affine_0_1 - tmp_qloop_6*_data_q_p_0[q] - tmp_qloop_7*_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_5 + tmp_qloop_9;
-                   const real_t tmp_qloop_11 = pow(tmp_qloop_10, -0.50000000000000000);
-                   const real_t tmp_qloop_21 = tmp_qloop_11*tmp_qloop_20;
-                   const real_t tmp_qloop_22 = tmp_qloop_21*tmp_qloop_4;
-                   const real_t tmp_qloop_23 = pow(tmp_qloop_10, -1.5000000000000000);
-                   const real_t tmp_qloop_24 = radRayVertex + tmp_qloop_19*(-tmp_qloop_14*(-rayVertex_1 + tmp_qloop_8) + tmp_qloop_4*(-rayVertex_0 + tmp_qloop_2));
-                   const real_t tmp_qloop_25 = tmp_qloop_23*tmp_qloop_24;
-                   const real_t tmp_qloop_26 = tmp_qloop_25*1.0;
-                   const real_t tmp_qloop_27 = tmp_qloop_14*tmp_qloop_21;
-                   const real_t tmp_qloop_28 = tmp_qloop_2*tmp_qloop_26;
-                   const real_t tmp_qloop_31 = tmp_qloop_20*tmp_qloop_23;
-                   const real_t tmp_qloop_32 = tmp_qloop_31*tmp_qloop_4;
-                   const real_t tmp_qloop_33 = tmp_qloop_32*tmp_qloop_5;
-                   const real_t tmp_qloop_34 = pow(tmp_qloop_10, -2.5000000000000000)*tmp_qloop_24*3.0;
-                   const real_t tmp_qloop_35 = tmp_qloop_2*tmp_qloop_34*tmp_qloop_9;
-                   const real_t tmp_qloop_36 = tmp_qloop_32*tmp_qloop_9 - tmp_qloop_35;
-                   const real_t tmp_qloop_37 = tmp_qloop_13*tmp_qloop_31;
-                   const real_t tmp_qloop_38 = tmp_qloop_2*tmp_qloop_8;
-                   const real_t tmp_qloop_39 = tmp_qloop_32*tmp_qloop_38;
-                   const real_t tmp_qloop_40 = tmp_qloop_25*2.0;
-                   const real_t tmp_qloop_41 = tmp_qloop_34*tmp_qloop_5*tmp_qloop_8;
-                   const real_t tmp_qloop_42 = tmp_qloop_26*tmp_qloop_8 - tmp_qloop_41;
-                   const real_t tmp_qloop_43 = tmp_qloop_37*tmp_qloop_38;
-                   const real_t tmp_qloop_44 = tmp_qloop_14*tmp_qloop_31*tmp_qloop_38;
-                   const real_t tmp_qloop_45 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
-                   const real_t tmp_qloop_46 = (_data_q_p_0[q]*_data_q_p_0[q]);
-                   const real_t tmp_qloop_47 = tmp_qloop_46*2.0;
-                   const real_t tmp_qloop_48 = (_data_q_p_1[q]*_data_q_p_1[q]);
-                   const real_t tmp_qloop_49 = tmp_qloop_48*2.0;
-                   const real_t tmp_qloop_50 = tmp_qloop_45 + tmp_qloop_47 + tmp_qloop_49 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0;
-                   const real_t tmp_qloop_51 = -p_affine_0_0 + tmp_qloop_0*_data_q_p_0[q] + tmp_qloop_1*_data_q_p_1[q];
-                   const real_t tmp_qloop_52 = (tmp_qloop_51*tmp_qloop_51);
-                   const real_t tmp_qloop_53 = -p_affine_0_1 + tmp_qloop_6*_data_q_p_0[q] + tmp_qloop_7*_data_q_p_1[q];
-                   const real_t tmp_qloop_54 = (tmp_qloop_53*tmp_qloop_53);
-                   const real_t tmp_qloop_55 = tmp_qloop_52 + tmp_qloop_54;
-                   const real_t tmp_qloop_57 = pow(tmp_qloop_55, -0.50000000000000000)*tmp_qloop_56*1.0;
-                   const real_t tmp_qloop_58 = tmp_qloop_51*tmp_qloop_57;
-                   const real_t tmp_qloop_59 = tmp_qloop_13*(rayVertex_1 + tmp_qloop_53) - tmp_qloop_3*(rayVertex_0 + tmp_qloop_51);
-                   const real_t tmp_qloop_60 = pow(tmp_qloop_55, -1.5000000000000000)*1.0;
-                   const real_t tmp_qloop_61 = tmp_qloop_60*(radRayVertex + tmp_qloop_56*tmp_qloop_59);
-                   const real_t tmp_qloop_62 = tmp_qloop_53*tmp_qloop_57;
-                   const real_t tmp_qloop_63 = tmp_qloop_60*(radRayVertex + tmp_qloop_56*tmp_qloop_59);
-                   const real_t tmp_qloop_64 = tmp_qloop_51*tmp_qloop_53;
-                   const real_t tmp_qloop_65 = abs_det_jac_affine_BLUE*abs((tmp_qloop_13*tmp_qloop_58 - tmp_qloop_63*tmp_qloop_64)*(tmp_qloop_3*tmp_qloop_62 + tmp_qloop_61*tmp_qloop_64) - (tmp_qloop_13*tmp_qloop_62 + tmp_qloop_52*tmp_qloop_63)*(tmp_qloop_3*tmp_qloop_58 - tmp_qloop_54*tmp_qloop_61))*_data_q_w[q];
-                   const real_t tmp_qloop_66 = tmp_qloop_47 - _data_q_p_0[q];
-                   const real_t tmp_qloop_67 = tmp_qloop_50*tmp_qloop_65;
-                   const real_t tmp_qloop_68 = tmp_qloop_49 - _data_q_p_1[q];
-                   const real_t tmp_qloop_69 = -tmp_qloop_45 + tmp_qloop_48*-4.0 + 4.0*_data_q_p_1[q];
-                   const real_t tmp_qloop_70 = -tmp_qloop_45 + tmp_qloop_46*-4.0 + 4.0*_data_q_p_0[q];
-                   const real_t tmp_qloop_71 = tmp_qloop_65*tmp_qloop_66;
-                   const real_t tmp_qloop_72 = tmp_qloop_65*tmp_qloop_68;
-                   const real_t tmp_qloop_73 = tmp_qloop_65*tmp_qloop_69;
-                   const real_t jac_blending_0_0 = tmp_qloop_2*tmp_qloop_22 + tmp_qloop_26*tmp_qloop_9;
-                   const real_t jac_blending_0_1 = -tmp_qloop_2*tmp_qloop_23*tmp_qloop_24*tmp_qloop_8 - tmp_qloop_2*tmp_qloop_27;
-                   const real_t jac_blending_1_0 = tmp_qloop_22*tmp_qloop_8 - tmp_qloop_28*tmp_qloop_8;
-                   const real_t jac_blending_1_1 = tmp_qloop_23*tmp_qloop_24*tmp_qloop_5*1.0 - tmp_qloop_27*tmp_qloop_8;
-                   const real_t tmp_qloop_29 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
-                   const real_t tmp_qloop_30 = 1.0 / (tmp_qloop_29);
-                   const real_t abs_det_jac_blending = tmp_qloop_29;
-                   const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_30;
-                   const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_30;
-                   const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_30;
-                   const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_30;
-                   const real_t hessian_blending_0_0_0 = tmp_qloop_22 - tmp_qloop_33 + tmp_qloop_36;
-                   const real_t hessian_blending_1_0_0 = -tmp_qloop_34*(tmp_qloop_8*tmp_qloop_8*tmp_qloop_8) + tmp_qloop_37*tmp_qloop_9 - tmp_qloop_39 + tmp_qloop_40*tmp_qloop_8;
-                   const real_t hessian_blending_0_0_1 = tmp_qloop_19*tmp_qloop_23*tmp_qloop_38*tmp_qloop_4*-2.0 - tmp_qloop_42;
-                   const real_t hessian_blending_1_0_1 = tmp_qloop_11*tmp_qloop_16*tmp_qloop_18*tmp_qloop_4*1.0 - tmp_qloop_28 - tmp_qloop_36 - tmp_qloop_43;
-                   const real_t hessian_blending_0_1_0 = tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 - tmp_qloop_27 - tmp_qloop_39 - tmp_qloop_42;
-                   const real_t hessian_blending_1_1_0 = -tmp_qloop_28 + tmp_qloop_35 - tmp_qloop_43 + tmp_qloop_44;
-                   const real_t hessian_blending_0_1_1 = tmp_qloop_2*tmp_qloop_40 - (tmp_qloop_2*tmp_qloop_2*tmp_qloop_2)*tmp_qloop_34 + tmp_qloop_33 + tmp_qloop_44;
-                   const real_t hessian_blending_1_1_1 = tmp_qloop_13*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 + tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_9*1.0 - tmp_qloop_27 - tmp_qloop_41;
-                   const real_t q_tmp_0_0 = (tmp_qloop_50*tmp_qloop_50)*tmp_qloop_65;
-                   const real_t q_tmp_0_1 = tmp_qloop_66*tmp_qloop_67;
-                   const real_t q_tmp_0_2 = tmp_qloop_67*tmp_qloop_68;
-                   const real_t q_tmp_0_3 = tmp_qloop_45*tmp_qloop_67;
-                   const real_t q_tmp_0_4 = tmp_qloop_67*tmp_qloop_69;
-                   const real_t q_tmp_0_5 = tmp_qloop_67*tmp_qloop_70;
-                   const real_t q_tmp_1_1 = tmp_qloop_65*(tmp_qloop_66*tmp_qloop_66);
-                   const real_t q_tmp_1_2 = tmp_qloop_68*tmp_qloop_71;
-                   const real_t q_tmp_1_3 = tmp_qloop_45*tmp_qloop_71;
-                   const real_t q_tmp_1_4 = tmp_qloop_69*tmp_qloop_71;
-                   const real_t q_tmp_1_5 = tmp_qloop_70*tmp_qloop_71;
-                   const real_t q_tmp_2_2 = tmp_qloop_65*(tmp_qloop_68*tmp_qloop_68);
-                   const real_t q_tmp_2_3 = tmp_qloop_45*tmp_qloop_72;
-                   const real_t q_tmp_2_4 = tmp_qloop_69*tmp_qloop_72;
-                   const real_t q_tmp_2_5 = tmp_qloop_70*tmp_qloop_72;
-                   const real_t q_tmp_3_3 = tmp_qloop_46*tmp_qloop_48*tmp_qloop_65*16.0;
-                   const real_t q_tmp_3_4 = tmp_qloop_45*tmp_qloop_73;
-                   const real_t q_tmp_3_5 = tmp_qloop_45*tmp_qloop_65*tmp_qloop_70;
-                   const real_t q_tmp_4_4 = tmp_qloop_65*(tmp_qloop_69*tmp_qloop_69);
-                   const real_t q_tmp_4_5 = tmp_qloop_70*tmp_qloop_73;
-                   const real_t q_tmp_5_5 = tmp_qloop_65*(tmp_qloop_70*tmp_qloop_70);
+                   const real_t tmp_qloop_0 = 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_2 = (tmp_qloop_0*tmp_qloop_0);
+                   const real_t tmp_qloop_3 = 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_4 = (tmp_qloop_3*tmp_qloop_3);
+                   const real_t tmp_qloop_5 = tmp_qloop_2 + tmp_qloop_4;
+                   const real_t tmp_qloop_6 = pow(tmp_qloop_5, -0.50000000000000000);
+                   const real_t tmp_qloop_13 = tmp_qloop_12*tmp_qloop_6;
+                   const real_t tmp_qloop_14 = tmp_qloop_1*tmp_qloop_13;
+                   const real_t tmp_qloop_15 = pow(tmp_qloop_5, -1.5000000000000000);
+                   const real_t tmp_qloop_16 = radRayVertex + tmp_qloop_11*(tmp_qloop_1*(-rayVertex_0 + tmp_qloop_0) - tmp_qloop_8*(-rayVertex_1 + tmp_qloop_3));
+                   const real_t tmp_qloop_17 = tmp_qloop_15*tmp_qloop_16;
+                   const real_t tmp_qloop_18 = tmp_qloop_17*1.0;
+                   const real_t tmp_qloop_19 = tmp_qloop_13*tmp_qloop_8;
+                   const real_t tmp_qloop_20 = tmp_qloop_0*tmp_qloop_18;
+                   const real_t tmp_qloop_23 = tmp_qloop_12*tmp_qloop_15;
+                   const real_t tmp_qloop_24 = tmp_qloop_1*tmp_qloop_23;
+                   const real_t tmp_qloop_25 = tmp_qloop_2*tmp_qloop_24;
+                   const real_t tmp_qloop_26 = tmp_qloop_16*pow(tmp_qloop_5, -2.5000000000000000)*3.0;
+                   const real_t tmp_qloop_27 = tmp_qloop_0*tmp_qloop_26*tmp_qloop_4;
+                   const real_t tmp_qloop_28 = tmp_qloop_24*tmp_qloop_4 - tmp_qloop_27;
+                   const real_t tmp_qloop_29 = tmp_qloop_23*tmp_qloop_7;
+                   const real_t tmp_qloop_30 = tmp_qloop_0*tmp_qloop_3;
+                   const real_t tmp_qloop_31 = tmp_qloop_24*tmp_qloop_30;
+                   const real_t tmp_qloop_32 = tmp_qloop_17*2.0;
+                   const real_t tmp_qloop_33 = tmp_qloop_2*tmp_qloop_26*tmp_qloop_3;
+                   const real_t tmp_qloop_34 = tmp_qloop_18*tmp_qloop_3 - tmp_qloop_33;
+                   const real_t tmp_qloop_35 = tmp_qloop_29*tmp_qloop_30;
+                   const real_t tmp_qloop_36 = tmp_qloop_23*tmp_qloop_30*tmp_qloop_8;
+                   const real_t tmp_qloop_37 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                   const real_t tmp_qloop_38 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_39 = tmp_qloop_38*2.0;
+                   const real_t tmp_qloop_40 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_41 = tmp_qloop_40*2.0;
+                   const real_t tmp_qloop_42 = tmp_qloop_37 + tmp_qloop_39 + tmp_qloop_41 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0;
+                   const real_t tmp_qloop_44 = tmp_qloop_39 - _data_q_p_0[q];
+                   const real_t tmp_qloop_46 = tmp_qloop_41 - _data_q_p_1[q];
+                   const real_t tmp_qloop_47 = -tmp_qloop_37 + tmp_qloop_40*-4.0 + 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_48 = -tmp_qloop_37 + tmp_qloop_38*-4.0 + 4.0*_data_q_p_0[q];
+                   const real_t jac_blending_0_0 = tmp_qloop_0*tmp_qloop_14 + tmp_qloop_18*tmp_qloop_4;
+                   const real_t jac_blending_0_1 = -tmp_qloop_0*tmp_qloop_15*tmp_qloop_16*tmp_qloop_3 - tmp_qloop_0*tmp_qloop_19;
+                   const real_t jac_blending_1_0 = tmp_qloop_14*tmp_qloop_3 - tmp_qloop_20*tmp_qloop_3;
+                   const real_t jac_blending_1_1 = tmp_qloop_15*tmp_qloop_16*tmp_qloop_2*1.0 - tmp_qloop_19*tmp_qloop_3;
+                   const real_t tmp_qloop_21 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
+                   const real_t tmp_qloop_22 = 1.0 / (tmp_qloop_21);
+                   const real_t abs_det_jac_blending = tmp_qloop_21;
+                   const real_t tmp_qloop_43 = abs_det_jac_affine_BLUE*abs_det_jac_blending*_data_q_w[q];
+                   const real_t tmp_qloop_45 = tmp_qloop_42*tmp_qloop_43;
+                   const real_t tmp_qloop_49 = tmp_qloop_43*tmp_qloop_44;
+                   const real_t tmp_qloop_50 = tmp_qloop_43*tmp_qloop_46;
+                   const real_t tmp_qloop_51 = tmp_qloop_43*tmp_qloop_47;
+                   const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_22;
+                   const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_22;
+                   const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_22;
+                   const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_22;
+                   const real_t hessian_blending_0_0_0 = tmp_qloop_14 - tmp_qloop_25 + tmp_qloop_28;
+                   const real_t hessian_blending_1_0_0 = -tmp_qloop_26*(tmp_qloop_3*tmp_qloop_3*tmp_qloop_3) + tmp_qloop_29*tmp_qloop_4 + tmp_qloop_3*tmp_qloop_32 - tmp_qloop_31;
+                   const real_t hessian_blending_0_0_1 = tmp_qloop_1*tmp_qloop_11*tmp_qloop_15*tmp_qloop_30*-2.0 - tmp_qloop_34;
+                   const real_t hessian_blending_1_0_1 = tmp_qloop_1*tmp_qloop_10*tmp_qloop_6*tmp_qloop_9*1.0 - tmp_qloop_20 - tmp_qloop_28 - tmp_qloop_35;
+                   const real_t hessian_blending_0_1_0 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_31 - tmp_qloop_34;
+                   const real_t hessian_blending_1_1_0 = -tmp_qloop_20 + tmp_qloop_27 - tmp_qloop_35 + tmp_qloop_36;
+                   const real_t hessian_blending_0_1_1 = tmp_qloop_0*tmp_qloop_32 - (tmp_qloop_0*tmp_qloop_0*tmp_qloop_0)*tmp_qloop_26 + tmp_qloop_25 + tmp_qloop_36;
+                   const real_t hessian_blending_1_1_1 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_7*tmp_qloop_9*1.0 + tmp_qloop_10*tmp_qloop_15*tmp_qloop_4*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_33;
+                   const real_t q_tmp_0_0 = (tmp_qloop_42*tmp_qloop_42)*tmp_qloop_43;
+                   const real_t q_tmp_0_1 = tmp_qloop_44*tmp_qloop_45;
+                   const real_t q_tmp_0_2 = tmp_qloop_45*tmp_qloop_46;
+                   const real_t q_tmp_0_3 = tmp_qloop_37*tmp_qloop_45;
+                   const real_t q_tmp_0_4 = tmp_qloop_45*tmp_qloop_47;
+                   const real_t q_tmp_0_5 = tmp_qloop_45*tmp_qloop_48;
+                   const real_t q_tmp_1_1 = tmp_qloop_43*(tmp_qloop_44*tmp_qloop_44);
+                   const real_t q_tmp_1_2 = tmp_qloop_46*tmp_qloop_49;
+                   const real_t q_tmp_1_3 = tmp_qloop_37*tmp_qloop_49;
+                   const real_t q_tmp_1_4 = tmp_qloop_47*tmp_qloop_49;
+                   const real_t q_tmp_1_5 = tmp_qloop_48*tmp_qloop_49;
+                   const real_t q_tmp_2_2 = tmp_qloop_43*(tmp_qloop_46*tmp_qloop_46);
+                   const real_t q_tmp_2_3 = tmp_qloop_37*tmp_qloop_50;
+                   const real_t q_tmp_2_4 = tmp_qloop_47*tmp_qloop_50;
+                   const real_t q_tmp_2_5 = tmp_qloop_48*tmp_qloop_50;
+                   const real_t q_tmp_3_3 = tmp_qloop_38*tmp_qloop_40*tmp_qloop_43*16.0;
+                   const real_t q_tmp_3_4 = tmp_qloop_37*tmp_qloop_51;
+                   const real_t q_tmp_3_5 = tmp_qloop_37*tmp_qloop_43*tmp_qloop_48;
+                   const real_t q_tmp_4_4 = tmp_qloop_43*(tmp_qloop_47*tmp_qloop_47);
+                   const real_t q_tmp_4_5 = tmp_qloop_48*tmp_qloop_51;
+                   const real_t q_tmp_5_5 = tmp_qloop_43*(tmp_qloop_48*tmp_qloop_48);
                    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;
diff --git a/operators/mass/avx/P2ElementwiseMassAnnulusMap_computeInverseDiagonalOperatorValues_P2ElementwiseMassAnnulusMap_macro_2D.cpp b/operators/mass/avx/P2ElementwiseMassAnnulusMap_computeInverseDiagonalOperatorValues_P2ElementwiseMassAnnulusMap_macro_2D.cpp
index ae52b27075c58d8e43094a520b49f60e5f4a658f..596d3ee1c9f1ee2d19c4351ff8f90b2c023e87a4 100644
--- a/operators/mass/avx/P2ElementwiseMassAnnulusMap_computeInverseDiagonalOperatorValues_P2ElementwiseMassAnnulusMap_macro_2D.cpp
+++ b/operators/mass/avx/P2ElementwiseMassAnnulusMap_computeInverseDiagonalOperatorValues_P2ElementwiseMassAnnulusMap_macro_2D.cpp
@@ -83,18 +83,13 @@ void P2ElementwiseMassAnnulusMap::computeInverseDiagonalOperatorValues_P2Element
        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_3 = rayVertex_1 - thrVertex_1;
-       const real_t tmp_qloop_4 = -tmp_qloop_3;
-       const real_t tmp_qloop_12 = rayVertex_0 - refVertex_0;
-       const real_t tmp_qloop_13 = rayVertex_0 - thrVertex_0;
-       const real_t tmp_qloop_14 = -tmp_qloop_13;
-       const real_t tmp_qloop_15 = rayVertex_1 - refVertex_1;
-       const real_t tmp_qloop_16 = 1.0 / (-tmp_qloop_12*tmp_qloop_4 + tmp_qloop_14*tmp_qloop_15);
-       const real_t tmp_qloop_17 = radRayVertex - radRefVertex;
-       const real_t tmp_qloop_18 = -tmp_qloop_17;
-       const real_t tmp_qloop_19 = tmp_qloop_16*tmp_qloop_18;
-       const real_t tmp_qloop_20 = tmp_qloop_19*1.0;
-       const real_t tmp_qloop_55 = tmp_qloop_17*1.0 / (tmp_qloop_12*tmp_qloop_3 - tmp_qloop_13*tmp_qloop_15);
+       const real_t tmp_qloop_1 = -rayVertex_1 + thrVertex_1;
+       const real_t tmp_qloop_7 = rayVertex_0 - thrVertex_0;
+       const real_t tmp_qloop_8 = -tmp_qloop_7;
+       const real_t tmp_qloop_9 = 1.0 / (tmp_qloop_1*(-rayVertex_0 + refVertex_0) - tmp_qloop_8*(-rayVertex_1 + refVertex_1));
+       const real_t tmp_qloop_10 = -radRayVertex + radRefVertex;
+       const real_t tmp_qloop_11 = tmp_qloop_10*tmp_qloop_9;
+       const real_t tmp_qloop_12 = tmp_qloop_11*1.0;
        {
           /* FaceType.GRAY */
           for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1)
@@ -126,84 +121,67 @@ void P2ElementwiseMassAnnulusMap::computeInverseDiagonalOperatorValues_P2Element
                 __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
                 __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
                 __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
-                const __m256d tmp_qloop_0 = _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);
-                const __m256d tmp_qloop_1 = _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);
-                const __m256d tmp_qloop_6 = _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);
-                const __m256d tmp_qloop_7 = _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);
                 for (int64_t q = 0; q < 6; q += 1)
                 {
-                   const __m256d tmp_qloop_2 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,_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])),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_1,_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]))),p_affine_0_0);
-                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_2,tmp_qloop_2);
-                   const __m256d tmp_qloop_8 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_6,_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])),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_7,_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]))),p_affine_0_1);
-                   const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,tmp_qloop_8);
-                   const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_9);
-                   const __m256d tmp_qloop_11 = _mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_sqrt_pd(tmp_qloop_10));
-                   const __m256d tmp_qloop_21 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20));
-                   const __m256d tmp_qloop_22 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4));
-                   const __m256d tmp_qloop_23 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_10),_mm256_mul_pd(tmp_qloop_10,tmp_qloop_10));
-                   const __m256d tmp_qloop_24 = _mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(rayVertex_0,rayVertex_0,rayVertex_0,rayVertex_0)),tmp_qloop_2),_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4)),_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(rayVertex_1,rayVertex_1,rayVertex_1,rayVertex_1)),tmp_qloop_8),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14))),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex));
-                   const __m256d tmp_qloop_25 = _mm256_mul_pd(tmp_qloop_23,tmp_qloop_24);
-                   const __m256d tmp_qloop_26 = _mm256_mul_pd(tmp_qloop_25,_mm256_set_pd(1.0,1.0,1.0,1.0));
-                   const __m256d tmp_qloop_27 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14));
-                   const __m256d tmp_qloop_28 = _mm256_mul_pd(tmp_qloop_2,tmp_qloop_26);
-                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20));
-                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4));
-                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_32,tmp_qloop_5);
-                   const __m256d tmp_qloop_34 = _mm256_mul_pd(_mm256_mul_pd(_mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_10),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_10,tmp_qloop_10),tmp_qloop_10)),tmp_qloop_24),_mm256_set_pd(3.0,3.0,3.0,3.0));
-                   const __m256d tmp_qloop_35 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_34),tmp_qloop_9);
-                   const __m256d tmp_qloop_36 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_32,tmp_qloop_9));
-                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13));
-                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_2,tmp_qloop_8);
-                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_32,tmp_qloop_38);
-                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_25,_mm256_set_pd(2.0,2.0,2.0,2.0));
-                   const __m256d tmp_qloop_41 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_34,tmp_qloop_5),tmp_qloop_8);
-                   const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_8));
-                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_37,tmp_qloop_38);
-                   const __m256d tmp_qloop_44 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_31,tmp_qloop_38),_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14));
-                   const __m256d tmp_qloop_45 = _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_46 = _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_47 = _mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(2.0,2.0,2.0,2.0));
-                   const __m256d tmp_qloop_48 = _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_49 = _mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(2.0,2.0,2.0,2.0));
-                   const __m256d tmp_qloop_50 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_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_1,_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_51 = _mm256_mul_pd(tmp_qloop_50,tmp_qloop_50);
-                   const __m256d tmp_qloop_52 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_6,_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_7,_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_53 = _mm256_mul_pd(tmp_qloop_52,tmp_qloop_52);
-                   const __m256d tmp_qloop_54 = _mm256_add_pd(tmp_qloop_51,tmp_qloop_53);
-                   const __m256d tmp_qloop_56 = _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_54)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_55,tmp_qloop_55,tmp_qloop_55,tmp_qloop_55));
-                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_50,tmp_qloop_56);
-                   const __m256d tmp_qloop_58 = _mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(rayVertex_1,rayVertex_1,rayVertex_1,rayVertex_1),tmp_qloop_52),_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(rayVertex_0,rayVertex_0,rayVertex_0,rayVertex_0),tmp_qloop_50),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_3,tmp_qloop_3,tmp_qloop_3,tmp_qloop_3)));
-                   const __m256d tmp_qloop_59 = _mm256_mul_pd(_mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_54),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_54)),_mm256_set_pd(1.0,1.0,1.0,1.0));
-                   const __m256d tmp_qloop_60 = _mm256_mul_pd(tmp_qloop_59,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(tmp_qloop_55,tmp_qloop_55,tmp_qloop_55,tmp_qloop_55)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex)));
-                   const __m256d tmp_qloop_61 = _mm256_mul_pd(tmp_qloop_52,tmp_qloop_56);
-                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_59,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(tmp_qloop_55,tmp_qloop_55,tmp_qloop_55,tmp_qloop_55)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex)));
-                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_50,tmp_qloop_52);
-                   const __m256d tmp_qloop_64 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q]),_mm256_set_pd(abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY)),_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_57,_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_62,tmp_qloop_63),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(tmp_qloop_3,tmp_qloop_3,tmp_qloop_3,tmp_qloop_3)),_mm256_mul_pd(tmp_qloop_60,tmp_qloop_63))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13)),_mm256_mul_pd(tmp_qloop_51,tmp_qloop_62)),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(tmp_qloop_3,tmp_qloop_3,tmp_qloop_3,tmp_qloop_3)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_53,tmp_qloop_60),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)))))));
-                   const __m256d jac_blending_0_0 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_22),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_9));
-                   const __m256d jac_blending_0_1 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_27),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_23),tmp_qloop_24),tmp_qloop_8),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d jac_blending_1_0 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_8),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_8),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d jac_blending_1_1 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_27,tmp_qloop_8),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_24),tmp_qloop_5),_mm256_set_pd(1.0,1.0,1.0,1.0)));
-                   const __m256d tmp_qloop_29 = _mm256_add_pd(_mm256_mul_pd(jac_blending_0_0,jac_blending_1_1),_mm256_mul_pd(_mm256_mul_pd(jac_blending_0_1,jac_blending_1_0),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d tmp_qloop_30 = _mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),tmp_qloop_29);
-                   const __m256d abs_det_jac_blending = tmp_qloop_29;
-                   const __m256d jac_blending_inv_0_0 = _mm256_mul_pd(jac_blending_1_1,tmp_qloop_30);
-                   const __m256d jac_blending_inv_0_1 = _mm256_mul_pd(_mm256_mul_pd(jac_blending_0_1,tmp_qloop_30),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
-                   const __m256d jac_blending_inv_1_0 = _mm256_mul_pd(_mm256_mul_pd(jac_blending_1_0,tmp_qloop_30),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
-                   const __m256d jac_blending_inv_1_1 = _mm256_mul_pd(jac_blending_0_0,tmp_qloop_30);
-                   const __m256d hessian_blending_0_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),tmp_qloop_22),tmp_qloop_36);
-                   const __m256d hessian_blending_1_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_37,tmp_qloop_9)),_mm256_mul_pd(tmp_qloop_40,tmp_qloop_8)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_8,tmp_qloop_8),tmp_qloop_8)),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d hessian_blending_0_0_1 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_38),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4)));
-                   const __m256d hessian_blending_1_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_16,tmp_qloop_16,tmp_qloop_16,tmp_qloop_16)),_mm256_set_pd(tmp_qloop_18,tmp_qloop_18,tmp_qloop_18,tmp_qloop_18)),_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4)));
-                   const __m256d hessian_blending_0_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_42,_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_23,tmp_qloop_5),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14)),_mm256_set_pd(tmp_qloop_16,tmp_qloop_16,tmp_qloop_16,tmp_qloop_16)),_mm256_set_pd(tmp_qloop_18,tmp_qloop_18,tmp_qloop_18,tmp_qloop_18)));
-                   const __m256d hessian_blending_1_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_35),tmp_qloop_44);
-                   const __m256d hessian_blending_0_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_40),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_2),tmp_qloop_2),tmp_qloop_34),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_33),tmp_qloop_44);
-                   const __m256d hessian_blending_1_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_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_23,tmp_qloop_5),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13)),_mm256_set_pd(tmp_qloop_16,tmp_qloop_16,tmp_qloop_16,tmp_qloop_16)),_mm256_set_pd(tmp_qloop_18,tmp_qloop_18,tmp_qloop_18,tmp_qloop_18))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_9),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14)),_mm256_set_pd(tmp_qloop_16,tmp_qloop_16,tmp_qloop_16,tmp_qloop_16)),_mm256_set_pd(tmp_qloop_18,tmp_qloop_18,tmp_qloop_18,tmp_qloop_18)));
-                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_64,_mm256_mul_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_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_45),tmp_qloop_47),tmp_qloop_49),_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_45),tmp_qloop_47),tmp_qloop_49)));
-                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_64,_mm256_mul_pd(_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_47),_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_47)));
-                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_64,_mm256_mul_pd(_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_49),_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_49)));
-                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_46,tmp_qloop_48),tmp_qloop_64),_mm256_set_pd(16.0,16.0,16.0,16.0));
-                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_64,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_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_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_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_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)))));
-                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_64,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_46,_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_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_46,_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_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)))));
+                   const __m256d tmp_qloop_0 = _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]))),p_affine_0_0);
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,tmp_qloop_0);
+                   const __m256d tmp_qloop_3 = _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]))),p_affine_0_1);
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(tmp_qloop_3,tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_add_pd(tmp_qloop_2,tmp_qloop_4);
+                   const __m256d tmp_qloop_6 = _mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_sqrt_pd(tmp_qloop_5));
+                   const __m256d tmp_qloop_13 = _mm256_mul_pd(tmp_qloop_6,_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,_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1));
+                   const __m256d tmp_qloop_15 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_5),_mm256_mul_pd(tmp_qloop_5,tmp_qloop_5));
+                   const __m256d tmp_qloop_16 = _mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(rayVertex_0,rayVertex_0,rayVertex_0,rayVertex_0)),tmp_qloop_0),_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1)),_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(rayVertex_1,rayVertex_1,rayVertex_1,rayVertex_1)),tmp_qloop_3),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8))),_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex));
+                   const __m256d tmp_qloop_17 = _mm256_mul_pd(tmp_qloop_15,tmp_qloop_16);
+                   const __m256d tmp_qloop_18 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(1.0,1.0,1.0,1.0));
+                   const __m256d tmp_qloop_19 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8));
+                   const __m256d tmp_qloop_20 = _mm256_mul_pd(tmp_qloop_0,tmp_qloop_18);
+                   const __m256d tmp_qloop_23 = _mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(tmp_qloop_12,tmp_qloop_12,tmp_qloop_12,tmp_qloop_12));
+                   const __m256d tmp_qloop_24 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1));
+                   const __m256d tmp_qloop_25 = _mm256_mul_pd(tmp_qloop_2,tmp_qloop_24);
+                   const __m256d tmp_qloop_26 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_16,_mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_5),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_5),tmp_qloop_5))),_mm256_set_pd(3.0,3.0,3.0,3.0));
+                   const __m256d tmp_qloop_27 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_26),tmp_qloop_4);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_24,tmp_qloop_4));
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(tmp_qloop_7,tmp_qloop_7,tmp_qloop_7,tmp_qloop_7));
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_0,tmp_qloop_3);
+                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_24,tmp_qloop_30);
+                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_26),tmp_qloop_3);
+                   const __m256d tmp_qloop_34 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_18,tmp_qloop_3));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_30);
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_30),_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8));
+                   const __m256d tmp_qloop_37 = _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_38 = _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_39 = _mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_40 = _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_41 = _mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d jac_blending_0_0 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_14),_mm256_mul_pd(tmp_qloop_18,tmp_qloop_4));
+                   const __m256d jac_blending_0_1 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_19),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_15),tmp_qloop_16),tmp_qloop_3),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d jac_blending_1_0 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,tmp_qloop_3),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_3),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d jac_blending_1_1 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_3),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_16),tmp_qloop_2),_mm256_set_pd(1.0,1.0,1.0,1.0)));
+                   const __m256d tmp_qloop_21 = _mm256_add_pd(_mm256_mul_pd(jac_blending_0_0,jac_blending_1_1),_mm256_mul_pd(_mm256_mul_pd(jac_blending_0_1,jac_blending_1_0),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_22 = _mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),tmp_qloop_21);
+                   const __m256d abs_det_jac_blending = tmp_qloop_21;
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(_mm256_mul_pd(abs_det_jac_blending,_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY));
+                   const __m256d jac_blending_inv_0_0 = _mm256_mul_pd(jac_blending_1_1,tmp_qloop_22);
+                   const __m256d jac_blending_inv_0_1 = _mm256_mul_pd(_mm256_mul_pd(jac_blending_0_1,tmp_qloop_22),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
+                   const __m256d jac_blending_inv_1_0 = _mm256_mul_pd(_mm256_mul_pd(jac_blending_1_0,tmp_qloop_22),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
+                   const __m256d jac_blending_inv_1_1 = _mm256_mul_pd(jac_blending_0_0,tmp_qloop_22);
+                   const __m256d hessian_blending_0_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_25,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),tmp_qloop_14),tmp_qloop_28);
+                   const __m256d hessian_blending_1_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_4)),_mm256_mul_pd(tmp_qloop_3,tmp_qloop_32)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_3,tmp_qloop_3),tmp_qloop_3)),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d hessian_blending_0_0_1 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_30),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1)),_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)));
+                   const __m256d hessian_blending_1_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_28,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1)),_mm256_set_pd(tmp_qloop_10,tmp_qloop_10,tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(tmp_qloop_9,tmp_qloop_9,tmp_qloop_9,tmp_qloop_9)));
+                   const __m256d hessian_blending_0_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_34,_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_15,tmp_qloop_2),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_10,tmp_qloop_10,tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8)),_mm256_set_pd(tmp_qloop_9,tmp_qloop_9,tmp_qloop_9,tmp_qloop_9)));
+                   const __m256d hessian_blending_1_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_27),tmp_qloop_36);
+                   const __m256d hessian_blending_0_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_32),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_0),tmp_qloop_0),tmp_qloop_26),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_25),tmp_qloop_36);
+                   const __m256d hessian_blending_1_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_33,_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_15,tmp_qloop_2),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_10,tmp_qloop_10,tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(tmp_qloop_7,tmp_qloop_7,tmp_qloop_7,tmp_qloop_7)),_mm256_set_pd(tmp_qloop_9,tmp_qloop_9,tmp_qloop_9,tmp_qloop_9))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_4),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_10,tmp_qloop_10,tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8)),_mm256_set_pd(tmp_qloop_9,tmp_qloop_9,tmp_qloop_9,tmp_qloop_9)));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_42,_mm256_mul_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_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_37),tmp_qloop_39),tmp_qloop_41),_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_37),tmp_qloop_39),tmp_qloop_41)));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_42,_mm256_mul_pd(_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_39),_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_39)));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_42,_mm256_mul_pd(_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_41),_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_41)));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_40),tmp_qloop_42),_mm256_set_pd(16.0,16.0,16.0,16.0));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_42,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_40,_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_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_40,_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_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_42,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_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_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_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_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)))));
                    q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
                    q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
                    q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
@@ -251,84 +229,67 @@ void P2ElementwiseMassAnnulusMap::computeInverseDiagonalOperatorValues_P2Element
                 real_t q_acc_3_3 = 0.0;
                 real_t q_acc_4_4 = 0.0;
                 real_t q_acc_5_5 = 0.0;
-                const real_t tmp_qloop_0 = p_affine_0_0 - p_affine_1_0;
-                const real_t tmp_qloop_1 = p_affine_0_0 - p_affine_2_0;
-                const real_t tmp_qloop_6 = p_affine_0_1 - p_affine_1_1;
-                const real_t tmp_qloop_7 = p_affine_0_1 - p_affine_2_1;
                 for (int64_t q = 0; q < 6; q += 1)
                 {
-                   const real_t tmp_qloop_2 = p_affine_0_0 - tmp_qloop_0*_data_q_p_0[q] - tmp_qloop_1*_data_q_p_1[q];
-                   const real_t tmp_qloop_5 = (tmp_qloop_2*tmp_qloop_2);
-                   const real_t tmp_qloop_8 = p_affine_0_1 - tmp_qloop_6*_data_q_p_0[q] - tmp_qloop_7*_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_5 + tmp_qloop_9;
-                   const real_t tmp_qloop_11 = pow(tmp_qloop_10, -0.50000000000000000);
-                   const real_t tmp_qloop_21 = tmp_qloop_11*tmp_qloop_20;
-                   const real_t tmp_qloop_22 = tmp_qloop_21*tmp_qloop_4;
-                   const real_t tmp_qloop_23 = pow(tmp_qloop_10, -1.5000000000000000);
-                   const real_t tmp_qloop_24 = radRayVertex + tmp_qloop_19*(-tmp_qloop_14*(-rayVertex_1 + tmp_qloop_8) + tmp_qloop_4*(-rayVertex_0 + tmp_qloop_2));
-                   const real_t tmp_qloop_25 = tmp_qloop_23*tmp_qloop_24;
-                   const real_t tmp_qloop_26 = tmp_qloop_25*1.0;
-                   const real_t tmp_qloop_27 = tmp_qloop_14*tmp_qloop_21;
-                   const real_t tmp_qloop_28 = tmp_qloop_2*tmp_qloop_26;
-                   const real_t tmp_qloop_31 = tmp_qloop_20*tmp_qloop_23;
-                   const real_t tmp_qloop_32 = tmp_qloop_31*tmp_qloop_4;
-                   const real_t tmp_qloop_33 = tmp_qloop_32*tmp_qloop_5;
-                   const real_t tmp_qloop_34 = pow(tmp_qloop_10, -2.5000000000000000)*tmp_qloop_24*3.0;
-                   const real_t tmp_qloop_35 = tmp_qloop_2*tmp_qloop_34*tmp_qloop_9;
-                   const real_t tmp_qloop_36 = tmp_qloop_32*tmp_qloop_9 - tmp_qloop_35;
-                   const real_t tmp_qloop_37 = tmp_qloop_13*tmp_qloop_31;
-                   const real_t tmp_qloop_38 = tmp_qloop_2*tmp_qloop_8;
-                   const real_t tmp_qloop_39 = tmp_qloop_32*tmp_qloop_38;
-                   const real_t tmp_qloop_40 = tmp_qloop_25*2.0;
-                   const real_t tmp_qloop_41 = tmp_qloop_34*tmp_qloop_5*tmp_qloop_8;
-                   const real_t tmp_qloop_42 = tmp_qloop_26*tmp_qloop_8 - tmp_qloop_41;
-                   const real_t tmp_qloop_43 = tmp_qloop_37*tmp_qloop_38;
-                   const real_t tmp_qloop_44 = tmp_qloop_14*tmp_qloop_31*tmp_qloop_38;
-                   const real_t tmp_qloop_45 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
-                   const real_t tmp_qloop_46 = (_data_q_p_0[q]*_data_q_p_0[q]);
-                   const real_t tmp_qloop_47 = tmp_qloop_46*2.0;
-                   const real_t tmp_qloop_48 = (_data_q_p_1[q]*_data_q_p_1[q]);
-                   const real_t tmp_qloop_49 = tmp_qloop_48*2.0;
-                   const real_t tmp_qloop_50 = -p_affine_0_0 + tmp_qloop_0*_data_q_p_0[q] + tmp_qloop_1*_data_q_p_1[q];
-                   const real_t tmp_qloop_51 = (tmp_qloop_50*tmp_qloop_50);
-                   const real_t tmp_qloop_52 = -p_affine_0_1 + tmp_qloop_6*_data_q_p_0[q] + tmp_qloop_7*_data_q_p_1[q];
-                   const real_t tmp_qloop_53 = (tmp_qloop_52*tmp_qloop_52);
-                   const real_t tmp_qloop_54 = tmp_qloop_51 + tmp_qloop_53;
-                   const real_t tmp_qloop_56 = pow(tmp_qloop_54, -0.50000000000000000)*tmp_qloop_55*1.0;
-                   const real_t tmp_qloop_57 = tmp_qloop_50*tmp_qloop_56;
-                   const real_t tmp_qloop_58 = tmp_qloop_13*(rayVertex_1 + tmp_qloop_52) - tmp_qloop_3*(rayVertex_0 + tmp_qloop_50);
-                   const real_t tmp_qloop_59 = pow(tmp_qloop_54, -1.5000000000000000)*1.0;
-                   const real_t tmp_qloop_60 = tmp_qloop_59*(radRayVertex + tmp_qloop_55*tmp_qloop_58);
-                   const real_t tmp_qloop_61 = tmp_qloop_52*tmp_qloop_56;
-                   const real_t tmp_qloop_62 = tmp_qloop_59*(radRayVertex + tmp_qloop_55*tmp_qloop_58);
-                   const real_t tmp_qloop_63 = tmp_qloop_50*tmp_qloop_52;
-                   const real_t tmp_qloop_64 = abs_det_jac_affine_GRAY*abs((tmp_qloop_13*tmp_qloop_57 - tmp_qloop_62*tmp_qloop_63)*(tmp_qloop_3*tmp_qloop_61 + tmp_qloop_60*tmp_qloop_63) - (tmp_qloop_13*tmp_qloop_61 + tmp_qloop_51*tmp_qloop_62)*(tmp_qloop_3*tmp_qloop_57 - tmp_qloop_53*tmp_qloop_60))*_data_q_w[q];
-                   const real_t jac_blending_0_0 = tmp_qloop_2*tmp_qloop_22 + tmp_qloop_26*tmp_qloop_9;
-                   const real_t jac_blending_0_1 = -tmp_qloop_2*tmp_qloop_23*tmp_qloop_24*tmp_qloop_8 - tmp_qloop_2*tmp_qloop_27;
-                   const real_t jac_blending_1_0 = tmp_qloop_22*tmp_qloop_8 - tmp_qloop_28*tmp_qloop_8;
-                   const real_t jac_blending_1_1 = tmp_qloop_23*tmp_qloop_24*tmp_qloop_5*1.0 - tmp_qloop_27*tmp_qloop_8;
-                   const real_t tmp_qloop_29 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
-                   const real_t tmp_qloop_30 = 1.0 / (tmp_qloop_29);
-                   const real_t abs_det_jac_blending = tmp_qloop_29;
-                   const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_30;
-                   const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_30;
-                   const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_30;
-                   const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_30;
-                   const real_t hessian_blending_0_0_0 = tmp_qloop_22 - tmp_qloop_33 + tmp_qloop_36;
-                   const real_t hessian_blending_1_0_0 = -tmp_qloop_34*(tmp_qloop_8*tmp_qloop_8*tmp_qloop_8) + tmp_qloop_37*tmp_qloop_9 - tmp_qloop_39 + tmp_qloop_40*tmp_qloop_8;
-                   const real_t hessian_blending_0_0_1 = tmp_qloop_19*tmp_qloop_23*tmp_qloop_38*tmp_qloop_4*-2.0 - tmp_qloop_42;
-                   const real_t hessian_blending_1_0_1 = tmp_qloop_11*tmp_qloop_16*tmp_qloop_18*tmp_qloop_4*1.0 - tmp_qloop_28 - tmp_qloop_36 - tmp_qloop_43;
-                   const real_t hessian_blending_0_1_0 = tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 - tmp_qloop_27 - tmp_qloop_39 - tmp_qloop_42;
-                   const real_t hessian_blending_1_1_0 = -tmp_qloop_28 + tmp_qloop_35 - tmp_qloop_43 + tmp_qloop_44;
-                   const real_t hessian_blending_0_1_1 = tmp_qloop_2*tmp_qloop_40 - (tmp_qloop_2*tmp_qloop_2*tmp_qloop_2)*tmp_qloop_34 + tmp_qloop_33 + tmp_qloop_44;
-                   const real_t hessian_blending_1_1_1 = tmp_qloop_13*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 + tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_9*1.0 - tmp_qloop_27 - tmp_qloop_41;
-                   const real_t q_tmp_0_0 = tmp_qloop_64*((tmp_qloop_45 + tmp_qloop_47 + tmp_qloop_49 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0)*(tmp_qloop_45 + tmp_qloop_47 + tmp_qloop_49 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0));
-                   const real_t q_tmp_1_1 = tmp_qloop_64*((tmp_qloop_47 - _data_q_p_0[q])*(tmp_qloop_47 - _data_q_p_0[q]));
-                   const real_t q_tmp_2_2 = tmp_qloop_64*((tmp_qloop_49 - _data_q_p_1[q])*(tmp_qloop_49 - _data_q_p_1[q]));
-                   const real_t q_tmp_3_3 = tmp_qloop_46*tmp_qloop_48*tmp_qloop_64*16.0;
-                   const real_t q_tmp_4_4 = tmp_qloop_64*((-tmp_qloop_45 + tmp_qloop_48*-4.0 + 4.0*_data_q_p_1[q])*(-tmp_qloop_45 + tmp_qloop_48*-4.0 + 4.0*_data_q_p_1[q]));
-                   const real_t q_tmp_5_5 = tmp_qloop_64*((-tmp_qloop_45 + tmp_qloop_46*-4.0 + 4.0*_data_q_p_0[q])*(-tmp_qloop_45 + tmp_qloop_46*-4.0 + 4.0*_data_q_p_0[q]));
+                   const real_t tmp_qloop_0 = 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_2 = (tmp_qloop_0*tmp_qloop_0);
+                   const real_t tmp_qloop_3 = 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_4 = (tmp_qloop_3*tmp_qloop_3);
+                   const real_t tmp_qloop_5 = tmp_qloop_2 + tmp_qloop_4;
+                   const real_t tmp_qloop_6 = pow(tmp_qloop_5, -0.50000000000000000);
+                   const real_t tmp_qloop_13 = tmp_qloop_12*tmp_qloop_6;
+                   const real_t tmp_qloop_14 = tmp_qloop_1*tmp_qloop_13;
+                   const real_t tmp_qloop_15 = pow(tmp_qloop_5, -1.5000000000000000);
+                   const real_t tmp_qloop_16 = radRayVertex + tmp_qloop_11*(tmp_qloop_1*(-rayVertex_0 + tmp_qloop_0) - tmp_qloop_8*(-rayVertex_1 + tmp_qloop_3));
+                   const real_t tmp_qloop_17 = tmp_qloop_15*tmp_qloop_16;
+                   const real_t tmp_qloop_18 = tmp_qloop_17*1.0;
+                   const real_t tmp_qloop_19 = tmp_qloop_13*tmp_qloop_8;
+                   const real_t tmp_qloop_20 = tmp_qloop_0*tmp_qloop_18;
+                   const real_t tmp_qloop_23 = tmp_qloop_12*tmp_qloop_15;
+                   const real_t tmp_qloop_24 = tmp_qloop_1*tmp_qloop_23;
+                   const real_t tmp_qloop_25 = tmp_qloop_2*tmp_qloop_24;
+                   const real_t tmp_qloop_26 = tmp_qloop_16*pow(tmp_qloop_5, -2.5000000000000000)*3.0;
+                   const real_t tmp_qloop_27 = tmp_qloop_0*tmp_qloop_26*tmp_qloop_4;
+                   const real_t tmp_qloop_28 = tmp_qloop_24*tmp_qloop_4 - tmp_qloop_27;
+                   const real_t tmp_qloop_29 = tmp_qloop_23*tmp_qloop_7;
+                   const real_t tmp_qloop_30 = tmp_qloop_0*tmp_qloop_3;
+                   const real_t tmp_qloop_31 = tmp_qloop_24*tmp_qloop_30;
+                   const real_t tmp_qloop_32 = tmp_qloop_17*2.0;
+                   const real_t tmp_qloop_33 = tmp_qloop_2*tmp_qloop_26*tmp_qloop_3;
+                   const real_t tmp_qloop_34 = tmp_qloop_18*tmp_qloop_3 - tmp_qloop_33;
+                   const real_t tmp_qloop_35 = tmp_qloop_29*tmp_qloop_30;
+                   const real_t tmp_qloop_36 = tmp_qloop_23*tmp_qloop_30*tmp_qloop_8;
+                   const real_t tmp_qloop_37 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                   const real_t tmp_qloop_38 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_39 = tmp_qloop_38*2.0;
+                   const real_t tmp_qloop_40 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_41 = tmp_qloop_40*2.0;
+                   const real_t jac_blending_0_0 = tmp_qloop_0*tmp_qloop_14 + tmp_qloop_18*tmp_qloop_4;
+                   const real_t jac_blending_0_1 = -tmp_qloop_0*tmp_qloop_15*tmp_qloop_16*tmp_qloop_3 - tmp_qloop_0*tmp_qloop_19;
+                   const real_t jac_blending_1_0 = tmp_qloop_14*tmp_qloop_3 - tmp_qloop_20*tmp_qloop_3;
+                   const real_t jac_blending_1_1 = tmp_qloop_15*tmp_qloop_16*tmp_qloop_2*1.0 - tmp_qloop_19*tmp_qloop_3;
+                   const real_t tmp_qloop_21 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
+                   const real_t tmp_qloop_22 = 1.0 / (tmp_qloop_21);
+                   const real_t abs_det_jac_blending = tmp_qloop_21;
+                   const real_t tmp_qloop_42 = abs_det_jac_affine_GRAY*abs_det_jac_blending*_data_q_w[q];
+                   const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_22;
+                   const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_22;
+                   const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_22;
+                   const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_22;
+                   const real_t hessian_blending_0_0_0 = tmp_qloop_14 - tmp_qloop_25 + tmp_qloop_28;
+                   const real_t hessian_blending_1_0_0 = -tmp_qloop_26*(tmp_qloop_3*tmp_qloop_3*tmp_qloop_3) + tmp_qloop_29*tmp_qloop_4 + tmp_qloop_3*tmp_qloop_32 - tmp_qloop_31;
+                   const real_t hessian_blending_0_0_1 = tmp_qloop_1*tmp_qloop_11*tmp_qloop_15*tmp_qloop_30*-2.0 - tmp_qloop_34;
+                   const real_t hessian_blending_1_0_1 = tmp_qloop_1*tmp_qloop_10*tmp_qloop_6*tmp_qloop_9*1.0 - tmp_qloop_20 - tmp_qloop_28 - tmp_qloop_35;
+                   const real_t hessian_blending_0_1_0 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_31 - tmp_qloop_34;
+                   const real_t hessian_blending_1_1_0 = -tmp_qloop_20 + tmp_qloop_27 - tmp_qloop_35 + tmp_qloop_36;
+                   const real_t hessian_blending_0_1_1 = tmp_qloop_0*tmp_qloop_32 - (tmp_qloop_0*tmp_qloop_0*tmp_qloop_0)*tmp_qloop_26 + tmp_qloop_25 + tmp_qloop_36;
+                   const real_t hessian_blending_1_1_1 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_7*tmp_qloop_9*1.0 + tmp_qloop_10*tmp_qloop_15*tmp_qloop_4*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_33;
+                   const real_t q_tmp_0_0 = tmp_qloop_42*((tmp_qloop_37 + tmp_qloop_39 + tmp_qloop_41 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0)*(tmp_qloop_37 + tmp_qloop_39 + tmp_qloop_41 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0));
+                   const real_t q_tmp_1_1 = tmp_qloop_42*((tmp_qloop_39 - _data_q_p_0[q])*(tmp_qloop_39 - _data_q_p_0[q]));
+                   const real_t q_tmp_2_2 = tmp_qloop_42*((tmp_qloop_41 - _data_q_p_1[q])*(tmp_qloop_41 - _data_q_p_1[q]));
+                   const real_t q_tmp_3_3 = tmp_qloop_38*tmp_qloop_40*tmp_qloop_42*16.0;
+                   const real_t q_tmp_4_4 = tmp_qloop_42*((-tmp_qloop_37 + tmp_qloop_40*-4.0 + 4.0*_data_q_p_1[q])*(-tmp_qloop_37 + tmp_qloop_40*-4.0 + 4.0*_data_q_p_1[q]));
+                   const real_t q_tmp_5_5 = tmp_qloop_42*((-tmp_qloop_37 + tmp_qloop_38*-4.0 + 4.0*_data_q_p_0[q])*(-tmp_qloop_37 + tmp_qloop_38*-4.0 + 4.0*_data_q_p_0[q]));
                    q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
                    q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
                    q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
@@ -398,84 +359,67 @@ void P2ElementwiseMassAnnulusMap::computeInverseDiagonalOperatorValues_P2Element
                 __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
                 __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
                 __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
-                const __m256d tmp_qloop_0 = _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);
-                const __m256d tmp_qloop_1 = _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);
-                const __m256d tmp_qloop_6 = _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);
-                const __m256d tmp_qloop_7 = _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);
                 for (int64_t q = 0; q < 6; q += 1)
                 {
-                   const __m256d tmp_qloop_2 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,_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])),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_1,_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]))),p_affine_0_0);
-                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_2,tmp_qloop_2);
-                   const __m256d tmp_qloop_8 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_6,_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])),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_7,_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]))),p_affine_0_1);
-                   const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,tmp_qloop_8);
-                   const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_9);
-                   const __m256d tmp_qloop_11 = _mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_sqrt_pd(tmp_qloop_10));
-                   const __m256d tmp_qloop_21 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20));
-                   const __m256d tmp_qloop_22 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4));
-                   const __m256d tmp_qloop_23 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_10),_mm256_mul_pd(tmp_qloop_10,tmp_qloop_10));
-                   const __m256d tmp_qloop_24 = _mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(rayVertex_0,rayVertex_0,rayVertex_0,rayVertex_0)),tmp_qloop_2),_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4)),_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(rayVertex_1,rayVertex_1,rayVertex_1,rayVertex_1)),tmp_qloop_8),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14))),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex));
-                   const __m256d tmp_qloop_25 = _mm256_mul_pd(tmp_qloop_23,tmp_qloop_24);
-                   const __m256d tmp_qloop_26 = _mm256_mul_pd(tmp_qloop_25,_mm256_set_pd(1.0,1.0,1.0,1.0));
-                   const __m256d tmp_qloop_27 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14));
-                   const __m256d tmp_qloop_28 = _mm256_mul_pd(tmp_qloop_2,tmp_qloop_26);
-                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20));
-                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4));
-                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_32,tmp_qloop_5);
-                   const __m256d tmp_qloop_34 = _mm256_mul_pd(_mm256_mul_pd(_mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_10),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_10,tmp_qloop_10),tmp_qloop_10)),tmp_qloop_24),_mm256_set_pd(3.0,3.0,3.0,3.0));
-                   const __m256d tmp_qloop_35 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_34),tmp_qloop_9);
-                   const __m256d tmp_qloop_36 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_32,tmp_qloop_9));
-                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13));
-                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_2,tmp_qloop_8);
-                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_32,tmp_qloop_38);
-                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_25,_mm256_set_pd(2.0,2.0,2.0,2.0));
-                   const __m256d tmp_qloop_41 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_34,tmp_qloop_5),tmp_qloop_8);
-                   const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_8));
-                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_37,tmp_qloop_38);
-                   const __m256d tmp_qloop_44 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_31,tmp_qloop_38),_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14));
-                   const __m256d tmp_qloop_45 = _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_46 = _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_47 = _mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(2.0,2.0,2.0,2.0));
-                   const __m256d tmp_qloop_48 = _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_49 = _mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(2.0,2.0,2.0,2.0));
-                   const __m256d tmp_qloop_50 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_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_1,_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_51 = _mm256_mul_pd(tmp_qloop_50,tmp_qloop_50);
-                   const __m256d tmp_qloop_52 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_6,_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_7,_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_53 = _mm256_mul_pd(tmp_qloop_52,tmp_qloop_52);
-                   const __m256d tmp_qloop_54 = _mm256_add_pd(tmp_qloop_51,tmp_qloop_53);
-                   const __m256d tmp_qloop_56 = _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_54)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_55,tmp_qloop_55,tmp_qloop_55,tmp_qloop_55));
-                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_50,tmp_qloop_56);
-                   const __m256d tmp_qloop_58 = _mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(rayVertex_1,rayVertex_1,rayVertex_1,rayVertex_1),tmp_qloop_52),_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(rayVertex_0,rayVertex_0,rayVertex_0,rayVertex_0),tmp_qloop_50),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_3,tmp_qloop_3,tmp_qloop_3,tmp_qloop_3)));
-                   const __m256d tmp_qloop_59 = _mm256_mul_pd(_mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_54),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_54)),_mm256_set_pd(1.0,1.0,1.0,1.0));
-                   const __m256d tmp_qloop_60 = _mm256_mul_pd(tmp_qloop_59,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(tmp_qloop_55,tmp_qloop_55,tmp_qloop_55,tmp_qloop_55)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex)));
-                   const __m256d tmp_qloop_61 = _mm256_mul_pd(tmp_qloop_52,tmp_qloop_56);
-                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_59,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(tmp_qloop_55,tmp_qloop_55,tmp_qloop_55,tmp_qloop_55)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex)));
-                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_50,tmp_qloop_52);
-                   const __m256d tmp_qloop_64 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q]),_mm256_set_pd(abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE)),_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_57,_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_62,tmp_qloop_63),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(tmp_qloop_3,tmp_qloop_3,tmp_qloop_3,tmp_qloop_3)),_mm256_mul_pd(tmp_qloop_60,tmp_qloop_63))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13)),_mm256_mul_pd(tmp_qloop_51,tmp_qloop_62)),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(tmp_qloop_3,tmp_qloop_3,tmp_qloop_3,tmp_qloop_3)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_53,tmp_qloop_60),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)))))));
-                   const __m256d jac_blending_0_0 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_22),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_9));
-                   const __m256d jac_blending_0_1 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_27),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_23),tmp_qloop_24),tmp_qloop_8),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d jac_blending_1_0 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_8),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_8),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d jac_blending_1_1 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_27,tmp_qloop_8),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_24),tmp_qloop_5),_mm256_set_pd(1.0,1.0,1.0,1.0)));
-                   const __m256d tmp_qloop_29 = _mm256_add_pd(_mm256_mul_pd(jac_blending_0_0,jac_blending_1_1),_mm256_mul_pd(_mm256_mul_pd(jac_blending_0_1,jac_blending_1_0),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d tmp_qloop_30 = _mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),tmp_qloop_29);
-                   const __m256d abs_det_jac_blending = tmp_qloop_29;
-                   const __m256d jac_blending_inv_0_0 = _mm256_mul_pd(jac_blending_1_1,tmp_qloop_30);
-                   const __m256d jac_blending_inv_0_1 = _mm256_mul_pd(_mm256_mul_pd(jac_blending_0_1,tmp_qloop_30),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
-                   const __m256d jac_blending_inv_1_0 = _mm256_mul_pd(_mm256_mul_pd(jac_blending_1_0,tmp_qloop_30),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
-                   const __m256d jac_blending_inv_1_1 = _mm256_mul_pd(jac_blending_0_0,tmp_qloop_30);
-                   const __m256d hessian_blending_0_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),tmp_qloop_22),tmp_qloop_36);
-                   const __m256d hessian_blending_1_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_37,tmp_qloop_9)),_mm256_mul_pd(tmp_qloop_40,tmp_qloop_8)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_8,tmp_qloop_8),tmp_qloop_8)),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
-                   const __m256d hessian_blending_0_0_1 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_38),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4)));
-                   const __m256d hessian_blending_1_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_16,tmp_qloop_16,tmp_qloop_16,tmp_qloop_16)),_mm256_set_pd(tmp_qloop_18,tmp_qloop_18,tmp_qloop_18,tmp_qloop_18)),_mm256_set_pd(tmp_qloop_4,tmp_qloop_4,tmp_qloop_4,tmp_qloop_4)));
-                   const __m256d hessian_blending_0_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_42,_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_23,tmp_qloop_5),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14)),_mm256_set_pd(tmp_qloop_16,tmp_qloop_16,tmp_qloop_16,tmp_qloop_16)),_mm256_set_pd(tmp_qloop_18,tmp_qloop_18,tmp_qloop_18,tmp_qloop_18)));
-                   const __m256d hessian_blending_1_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_35),tmp_qloop_44);
-                   const __m256d hessian_blending_0_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_40),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_2),tmp_qloop_2),tmp_qloop_34),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_33),tmp_qloop_44);
-                   const __m256d hessian_blending_1_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_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_23,tmp_qloop_5),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_13,tmp_qloop_13,tmp_qloop_13,tmp_qloop_13)),_mm256_set_pd(tmp_qloop_16,tmp_qloop_16,tmp_qloop_16,tmp_qloop_16)),_mm256_set_pd(tmp_qloop_18,tmp_qloop_18,tmp_qloop_18,tmp_qloop_18))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_9),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_14,tmp_qloop_14,tmp_qloop_14,tmp_qloop_14)),_mm256_set_pd(tmp_qloop_16,tmp_qloop_16,tmp_qloop_16,tmp_qloop_16)),_mm256_set_pd(tmp_qloop_18,tmp_qloop_18,tmp_qloop_18,tmp_qloop_18)));
-                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_64,_mm256_mul_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_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_45),tmp_qloop_47),tmp_qloop_49),_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_45),tmp_qloop_47),tmp_qloop_49)));
-                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_64,_mm256_mul_pd(_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_47),_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_47)));
-                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_64,_mm256_mul_pd(_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_49),_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_49)));
-                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_46,tmp_qloop_48),tmp_qloop_64),_mm256_set_pd(16.0,16.0,16.0,16.0));
-                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_64,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_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_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_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_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)))));
-                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_64,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_46,_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_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_46,_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_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)))));
+                   const __m256d tmp_qloop_0 = _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]))),p_affine_0_0);
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,tmp_qloop_0);
+                   const __m256d tmp_qloop_3 = _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]))),p_affine_0_1);
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(tmp_qloop_3,tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_add_pd(tmp_qloop_2,tmp_qloop_4);
+                   const __m256d tmp_qloop_6 = _mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_sqrt_pd(tmp_qloop_5));
+                   const __m256d tmp_qloop_13 = _mm256_mul_pd(tmp_qloop_6,_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,_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1));
+                   const __m256d tmp_qloop_15 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_5),_mm256_mul_pd(tmp_qloop_5,tmp_qloop_5));
+                   const __m256d tmp_qloop_16 = _mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(rayVertex_0,rayVertex_0,rayVertex_0,rayVertex_0)),tmp_qloop_0),_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1)),_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(rayVertex_1,rayVertex_1,rayVertex_1,rayVertex_1)),tmp_qloop_3),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8))),_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex));
+                   const __m256d tmp_qloop_17 = _mm256_mul_pd(tmp_qloop_15,tmp_qloop_16);
+                   const __m256d tmp_qloop_18 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(1.0,1.0,1.0,1.0));
+                   const __m256d tmp_qloop_19 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8));
+                   const __m256d tmp_qloop_20 = _mm256_mul_pd(tmp_qloop_0,tmp_qloop_18);
+                   const __m256d tmp_qloop_23 = _mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(tmp_qloop_12,tmp_qloop_12,tmp_qloop_12,tmp_qloop_12));
+                   const __m256d tmp_qloop_24 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1));
+                   const __m256d tmp_qloop_25 = _mm256_mul_pd(tmp_qloop_2,tmp_qloop_24);
+                   const __m256d tmp_qloop_26 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_16,_mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_5),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_5),tmp_qloop_5))),_mm256_set_pd(3.0,3.0,3.0,3.0));
+                   const __m256d tmp_qloop_27 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_26),tmp_qloop_4);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_24,tmp_qloop_4));
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(tmp_qloop_7,tmp_qloop_7,tmp_qloop_7,tmp_qloop_7));
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_0,tmp_qloop_3);
+                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_24,tmp_qloop_30);
+                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_2,tmp_qloop_26),tmp_qloop_3);
+                   const __m256d tmp_qloop_34 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_18,tmp_qloop_3));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_30);
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_30),_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8));
+                   const __m256d tmp_qloop_37 = _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_38 = _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_39 = _mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_40 = _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_41 = _mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d jac_blending_0_0 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_14),_mm256_mul_pd(tmp_qloop_18,tmp_qloop_4));
+                   const __m256d jac_blending_0_1 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_19),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_15),tmp_qloop_16),tmp_qloop_3),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d jac_blending_1_0 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,tmp_qloop_3),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_3),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d jac_blending_1_1 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_3),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_16),tmp_qloop_2),_mm256_set_pd(1.0,1.0,1.0,1.0)));
+                   const __m256d tmp_qloop_21 = _mm256_add_pd(_mm256_mul_pd(jac_blending_0_0,jac_blending_1_1),_mm256_mul_pd(_mm256_mul_pd(jac_blending_0_1,jac_blending_1_0),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_22 = _mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),tmp_qloop_21);
+                   const __m256d abs_det_jac_blending = tmp_qloop_21;
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(_mm256_mul_pd(abs_det_jac_blending,_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE));
+                   const __m256d jac_blending_inv_0_0 = _mm256_mul_pd(jac_blending_1_1,tmp_qloop_22);
+                   const __m256d jac_blending_inv_0_1 = _mm256_mul_pd(_mm256_mul_pd(jac_blending_0_1,tmp_qloop_22),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
+                   const __m256d jac_blending_inv_1_0 = _mm256_mul_pd(_mm256_mul_pd(jac_blending_1_0,tmp_qloop_22),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
+                   const __m256d jac_blending_inv_1_1 = _mm256_mul_pd(jac_blending_0_0,tmp_qloop_22);
+                   const __m256d hessian_blending_0_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_25,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),tmp_qloop_14),tmp_qloop_28);
+                   const __m256d hessian_blending_1_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_4)),_mm256_mul_pd(tmp_qloop_3,tmp_qloop_32)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_3,tmp_qloop_3),tmp_qloop_3)),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d hessian_blending_0_0_1 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_30),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1)),_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)));
+                   const __m256d hessian_blending_1_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_28,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_1,tmp_qloop_1,tmp_qloop_1,tmp_qloop_1)),_mm256_set_pd(tmp_qloop_10,tmp_qloop_10,tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(tmp_qloop_9,tmp_qloop_9,tmp_qloop_9,tmp_qloop_9)));
+                   const __m256d hessian_blending_0_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_34,_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_15,tmp_qloop_2),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_10,tmp_qloop_10,tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8)),_mm256_set_pd(tmp_qloop_9,tmp_qloop_9,tmp_qloop_9,tmp_qloop_9)));
+                   const __m256d hessian_blending_1_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_27),tmp_qloop_36);
+                   const __m256d hessian_blending_0_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_32),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_0,tmp_qloop_0),tmp_qloop_0),tmp_qloop_26),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_25),tmp_qloop_36);
+                   const __m256d hessian_blending_1_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_33,_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_15,tmp_qloop_2),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_10,tmp_qloop_10,tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(tmp_qloop_7,tmp_qloop_7,tmp_qloop_7,tmp_qloop_7)),_mm256_set_pd(tmp_qloop_9,tmp_qloop_9,tmp_qloop_9,tmp_qloop_9))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_4),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_10,tmp_qloop_10,tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(tmp_qloop_8,tmp_qloop_8,tmp_qloop_8,tmp_qloop_8)),_mm256_set_pd(tmp_qloop_9,tmp_qloop_9,tmp_qloop_9,tmp_qloop_9)));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_42,_mm256_mul_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_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_37),tmp_qloop_39),tmp_qloop_41),_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_37),tmp_qloop_39),tmp_qloop_41)));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_42,_mm256_mul_pd(_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_39),_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_39)));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_42,_mm256_mul_pd(_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_41),_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_41)));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_40),tmp_qloop_42),_mm256_set_pd(16.0,16.0,16.0,16.0));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_42,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_40,_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_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_40,_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_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_42,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_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_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_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_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)))));
                    q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
                    q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
                    q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
@@ -523,84 +467,67 @@ void P2ElementwiseMassAnnulusMap::computeInverseDiagonalOperatorValues_P2Element
                 real_t q_acc_3_3 = 0.0;
                 real_t q_acc_4_4 = 0.0;
                 real_t q_acc_5_5 = 0.0;
-                const real_t tmp_qloop_0 = p_affine_0_0 - p_affine_1_0;
-                const real_t tmp_qloop_1 = p_affine_0_0 - p_affine_2_0;
-                const real_t tmp_qloop_6 = p_affine_0_1 - p_affine_1_1;
-                const real_t tmp_qloop_7 = p_affine_0_1 - p_affine_2_1;
                 for (int64_t q = 0; q < 6; q += 1)
                 {
-                   const real_t tmp_qloop_2 = p_affine_0_0 - tmp_qloop_0*_data_q_p_0[q] - tmp_qloop_1*_data_q_p_1[q];
-                   const real_t tmp_qloop_5 = (tmp_qloop_2*tmp_qloop_2);
-                   const real_t tmp_qloop_8 = p_affine_0_1 - tmp_qloop_6*_data_q_p_0[q] - tmp_qloop_7*_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_5 + tmp_qloop_9;
-                   const real_t tmp_qloop_11 = pow(tmp_qloop_10, -0.50000000000000000);
-                   const real_t tmp_qloop_21 = tmp_qloop_11*tmp_qloop_20;
-                   const real_t tmp_qloop_22 = tmp_qloop_21*tmp_qloop_4;
-                   const real_t tmp_qloop_23 = pow(tmp_qloop_10, -1.5000000000000000);
-                   const real_t tmp_qloop_24 = radRayVertex + tmp_qloop_19*(-tmp_qloop_14*(-rayVertex_1 + tmp_qloop_8) + tmp_qloop_4*(-rayVertex_0 + tmp_qloop_2));
-                   const real_t tmp_qloop_25 = tmp_qloop_23*tmp_qloop_24;
-                   const real_t tmp_qloop_26 = tmp_qloop_25*1.0;
-                   const real_t tmp_qloop_27 = tmp_qloop_14*tmp_qloop_21;
-                   const real_t tmp_qloop_28 = tmp_qloop_2*tmp_qloop_26;
-                   const real_t tmp_qloop_31 = tmp_qloop_20*tmp_qloop_23;
-                   const real_t tmp_qloop_32 = tmp_qloop_31*tmp_qloop_4;
-                   const real_t tmp_qloop_33 = tmp_qloop_32*tmp_qloop_5;
-                   const real_t tmp_qloop_34 = pow(tmp_qloop_10, -2.5000000000000000)*tmp_qloop_24*3.0;
-                   const real_t tmp_qloop_35 = tmp_qloop_2*tmp_qloop_34*tmp_qloop_9;
-                   const real_t tmp_qloop_36 = tmp_qloop_32*tmp_qloop_9 - tmp_qloop_35;
-                   const real_t tmp_qloop_37 = tmp_qloop_13*tmp_qloop_31;
-                   const real_t tmp_qloop_38 = tmp_qloop_2*tmp_qloop_8;
-                   const real_t tmp_qloop_39 = tmp_qloop_32*tmp_qloop_38;
-                   const real_t tmp_qloop_40 = tmp_qloop_25*2.0;
-                   const real_t tmp_qloop_41 = tmp_qloop_34*tmp_qloop_5*tmp_qloop_8;
-                   const real_t tmp_qloop_42 = tmp_qloop_26*tmp_qloop_8 - tmp_qloop_41;
-                   const real_t tmp_qloop_43 = tmp_qloop_37*tmp_qloop_38;
-                   const real_t tmp_qloop_44 = tmp_qloop_14*tmp_qloop_31*tmp_qloop_38;
-                   const real_t tmp_qloop_45 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
-                   const real_t tmp_qloop_46 = (_data_q_p_0[q]*_data_q_p_0[q]);
-                   const real_t tmp_qloop_47 = tmp_qloop_46*2.0;
-                   const real_t tmp_qloop_48 = (_data_q_p_1[q]*_data_q_p_1[q]);
-                   const real_t tmp_qloop_49 = tmp_qloop_48*2.0;
-                   const real_t tmp_qloop_50 = -p_affine_0_0 + tmp_qloop_0*_data_q_p_0[q] + tmp_qloop_1*_data_q_p_1[q];
-                   const real_t tmp_qloop_51 = (tmp_qloop_50*tmp_qloop_50);
-                   const real_t tmp_qloop_52 = -p_affine_0_1 + tmp_qloop_6*_data_q_p_0[q] + tmp_qloop_7*_data_q_p_1[q];
-                   const real_t tmp_qloop_53 = (tmp_qloop_52*tmp_qloop_52);
-                   const real_t tmp_qloop_54 = tmp_qloop_51 + tmp_qloop_53;
-                   const real_t tmp_qloop_56 = pow(tmp_qloop_54, -0.50000000000000000)*tmp_qloop_55*1.0;
-                   const real_t tmp_qloop_57 = tmp_qloop_50*tmp_qloop_56;
-                   const real_t tmp_qloop_58 = tmp_qloop_13*(rayVertex_1 + tmp_qloop_52) - tmp_qloop_3*(rayVertex_0 + tmp_qloop_50);
-                   const real_t tmp_qloop_59 = pow(tmp_qloop_54, -1.5000000000000000)*1.0;
-                   const real_t tmp_qloop_60 = tmp_qloop_59*(radRayVertex + tmp_qloop_55*tmp_qloop_58);
-                   const real_t tmp_qloop_61 = tmp_qloop_52*tmp_qloop_56;
-                   const real_t tmp_qloop_62 = tmp_qloop_59*(radRayVertex + tmp_qloop_55*tmp_qloop_58);
-                   const real_t tmp_qloop_63 = tmp_qloop_50*tmp_qloop_52;
-                   const real_t tmp_qloop_64 = abs_det_jac_affine_BLUE*abs((tmp_qloop_13*tmp_qloop_57 - tmp_qloop_62*tmp_qloop_63)*(tmp_qloop_3*tmp_qloop_61 + tmp_qloop_60*tmp_qloop_63) - (tmp_qloop_13*tmp_qloop_61 + tmp_qloop_51*tmp_qloop_62)*(tmp_qloop_3*tmp_qloop_57 - tmp_qloop_53*tmp_qloop_60))*_data_q_w[q];
-                   const real_t jac_blending_0_0 = tmp_qloop_2*tmp_qloop_22 + tmp_qloop_26*tmp_qloop_9;
-                   const real_t jac_blending_0_1 = -tmp_qloop_2*tmp_qloop_23*tmp_qloop_24*tmp_qloop_8 - tmp_qloop_2*tmp_qloop_27;
-                   const real_t jac_blending_1_0 = tmp_qloop_22*tmp_qloop_8 - tmp_qloop_28*tmp_qloop_8;
-                   const real_t jac_blending_1_1 = tmp_qloop_23*tmp_qloop_24*tmp_qloop_5*1.0 - tmp_qloop_27*tmp_qloop_8;
-                   const real_t tmp_qloop_29 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
-                   const real_t tmp_qloop_30 = 1.0 / (tmp_qloop_29);
-                   const real_t abs_det_jac_blending = tmp_qloop_29;
-                   const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_30;
-                   const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_30;
-                   const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_30;
-                   const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_30;
-                   const real_t hessian_blending_0_0_0 = tmp_qloop_22 - tmp_qloop_33 + tmp_qloop_36;
-                   const real_t hessian_blending_1_0_0 = -tmp_qloop_34*(tmp_qloop_8*tmp_qloop_8*tmp_qloop_8) + tmp_qloop_37*tmp_qloop_9 - tmp_qloop_39 + tmp_qloop_40*tmp_qloop_8;
-                   const real_t hessian_blending_0_0_1 = tmp_qloop_19*tmp_qloop_23*tmp_qloop_38*tmp_qloop_4*-2.0 - tmp_qloop_42;
-                   const real_t hessian_blending_1_0_1 = tmp_qloop_11*tmp_qloop_16*tmp_qloop_18*tmp_qloop_4*1.0 - tmp_qloop_28 - tmp_qloop_36 - tmp_qloop_43;
-                   const real_t hessian_blending_0_1_0 = tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 - tmp_qloop_27 - tmp_qloop_39 - tmp_qloop_42;
-                   const real_t hessian_blending_1_1_0 = -tmp_qloop_28 + tmp_qloop_35 - tmp_qloop_43 + tmp_qloop_44;
-                   const real_t hessian_blending_0_1_1 = tmp_qloop_2*tmp_qloop_40 - (tmp_qloop_2*tmp_qloop_2*tmp_qloop_2)*tmp_qloop_34 + tmp_qloop_33 + tmp_qloop_44;
-                   const real_t hessian_blending_1_1_1 = tmp_qloop_13*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 + tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_9*1.0 - tmp_qloop_27 - tmp_qloop_41;
-                   const real_t q_tmp_0_0 = tmp_qloop_64*((tmp_qloop_45 + tmp_qloop_47 + tmp_qloop_49 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0)*(tmp_qloop_45 + tmp_qloop_47 + tmp_qloop_49 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0));
-                   const real_t q_tmp_1_1 = tmp_qloop_64*((tmp_qloop_47 - _data_q_p_0[q])*(tmp_qloop_47 - _data_q_p_0[q]));
-                   const real_t q_tmp_2_2 = tmp_qloop_64*((tmp_qloop_49 - _data_q_p_1[q])*(tmp_qloop_49 - _data_q_p_1[q]));
-                   const real_t q_tmp_3_3 = tmp_qloop_46*tmp_qloop_48*tmp_qloop_64*16.0;
-                   const real_t q_tmp_4_4 = tmp_qloop_64*((-tmp_qloop_45 + tmp_qloop_48*-4.0 + 4.0*_data_q_p_1[q])*(-tmp_qloop_45 + tmp_qloop_48*-4.0 + 4.0*_data_q_p_1[q]));
-                   const real_t q_tmp_5_5 = tmp_qloop_64*((-tmp_qloop_45 + tmp_qloop_46*-4.0 + 4.0*_data_q_p_0[q])*(-tmp_qloop_45 + tmp_qloop_46*-4.0 + 4.0*_data_q_p_0[q]));
+                   const real_t tmp_qloop_0 = 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_2 = (tmp_qloop_0*tmp_qloop_0);
+                   const real_t tmp_qloop_3 = 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_4 = (tmp_qloop_3*tmp_qloop_3);
+                   const real_t tmp_qloop_5 = tmp_qloop_2 + tmp_qloop_4;
+                   const real_t tmp_qloop_6 = pow(tmp_qloop_5, -0.50000000000000000);
+                   const real_t tmp_qloop_13 = tmp_qloop_12*tmp_qloop_6;
+                   const real_t tmp_qloop_14 = tmp_qloop_1*tmp_qloop_13;
+                   const real_t tmp_qloop_15 = pow(tmp_qloop_5, -1.5000000000000000);
+                   const real_t tmp_qloop_16 = radRayVertex + tmp_qloop_11*(tmp_qloop_1*(-rayVertex_0 + tmp_qloop_0) - tmp_qloop_8*(-rayVertex_1 + tmp_qloop_3));
+                   const real_t tmp_qloop_17 = tmp_qloop_15*tmp_qloop_16;
+                   const real_t tmp_qloop_18 = tmp_qloop_17*1.0;
+                   const real_t tmp_qloop_19 = tmp_qloop_13*tmp_qloop_8;
+                   const real_t tmp_qloop_20 = tmp_qloop_0*tmp_qloop_18;
+                   const real_t tmp_qloop_23 = tmp_qloop_12*tmp_qloop_15;
+                   const real_t tmp_qloop_24 = tmp_qloop_1*tmp_qloop_23;
+                   const real_t tmp_qloop_25 = tmp_qloop_2*tmp_qloop_24;
+                   const real_t tmp_qloop_26 = tmp_qloop_16*pow(tmp_qloop_5, -2.5000000000000000)*3.0;
+                   const real_t tmp_qloop_27 = tmp_qloop_0*tmp_qloop_26*tmp_qloop_4;
+                   const real_t tmp_qloop_28 = tmp_qloop_24*tmp_qloop_4 - tmp_qloop_27;
+                   const real_t tmp_qloop_29 = tmp_qloop_23*tmp_qloop_7;
+                   const real_t tmp_qloop_30 = tmp_qloop_0*tmp_qloop_3;
+                   const real_t tmp_qloop_31 = tmp_qloop_24*tmp_qloop_30;
+                   const real_t tmp_qloop_32 = tmp_qloop_17*2.0;
+                   const real_t tmp_qloop_33 = tmp_qloop_2*tmp_qloop_26*tmp_qloop_3;
+                   const real_t tmp_qloop_34 = tmp_qloop_18*tmp_qloop_3 - tmp_qloop_33;
+                   const real_t tmp_qloop_35 = tmp_qloop_29*tmp_qloop_30;
+                   const real_t tmp_qloop_36 = tmp_qloop_23*tmp_qloop_30*tmp_qloop_8;
+                   const real_t tmp_qloop_37 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                   const real_t tmp_qloop_38 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_39 = tmp_qloop_38*2.0;
+                   const real_t tmp_qloop_40 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_41 = tmp_qloop_40*2.0;
+                   const real_t jac_blending_0_0 = tmp_qloop_0*tmp_qloop_14 + tmp_qloop_18*tmp_qloop_4;
+                   const real_t jac_blending_0_1 = -tmp_qloop_0*tmp_qloop_15*tmp_qloop_16*tmp_qloop_3 - tmp_qloop_0*tmp_qloop_19;
+                   const real_t jac_blending_1_0 = tmp_qloop_14*tmp_qloop_3 - tmp_qloop_20*tmp_qloop_3;
+                   const real_t jac_blending_1_1 = tmp_qloop_15*tmp_qloop_16*tmp_qloop_2*1.0 - tmp_qloop_19*tmp_qloop_3;
+                   const real_t tmp_qloop_21 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
+                   const real_t tmp_qloop_22 = 1.0 / (tmp_qloop_21);
+                   const real_t abs_det_jac_blending = tmp_qloop_21;
+                   const real_t tmp_qloop_42 = abs_det_jac_affine_BLUE*abs_det_jac_blending*_data_q_w[q];
+                   const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_22;
+                   const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_22;
+                   const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_22;
+                   const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_22;
+                   const real_t hessian_blending_0_0_0 = tmp_qloop_14 - tmp_qloop_25 + tmp_qloop_28;
+                   const real_t hessian_blending_1_0_0 = -tmp_qloop_26*(tmp_qloop_3*tmp_qloop_3*tmp_qloop_3) + tmp_qloop_29*tmp_qloop_4 + tmp_qloop_3*tmp_qloop_32 - tmp_qloop_31;
+                   const real_t hessian_blending_0_0_1 = tmp_qloop_1*tmp_qloop_11*tmp_qloop_15*tmp_qloop_30*-2.0 - tmp_qloop_34;
+                   const real_t hessian_blending_1_0_1 = tmp_qloop_1*tmp_qloop_10*tmp_qloop_6*tmp_qloop_9*1.0 - tmp_qloop_20 - tmp_qloop_28 - tmp_qloop_35;
+                   const real_t hessian_blending_0_1_0 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_31 - tmp_qloop_34;
+                   const real_t hessian_blending_1_1_0 = -tmp_qloop_20 + tmp_qloop_27 - tmp_qloop_35 + tmp_qloop_36;
+                   const real_t hessian_blending_0_1_1 = tmp_qloop_0*tmp_qloop_32 - (tmp_qloop_0*tmp_qloop_0*tmp_qloop_0)*tmp_qloop_26 + tmp_qloop_25 + tmp_qloop_36;
+                   const real_t hessian_blending_1_1_1 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_7*tmp_qloop_9*1.0 + tmp_qloop_10*tmp_qloop_15*tmp_qloop_4*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_33;
+                   const real_t q_tmp_0_0 = tmp_qloop_42*((tmp_qloop_37 + tmp_qloop_39 + tmp_qloop_41 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0)*(tmp_qloop_37 + tmp_qloop_39 + tmp_qloop_41 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0));
+                   const real_t q_tmp_1_1 = tmp_qloop_42*((tmp_qloop_39 - _data_q_p_0[q])*(tmp_qloop_39 - _data_q_p_0[q]));
+                   const real_t q_tmp_2_2 = tmp_qloop_42*((tmp_qloop_41 - _data_q_p_1[q])*(tmp_qloop_41 - _data_q_p_1[q]));
+                   const real_t q_tmp_3_3 = tmp_qloop_38*tmp_qloop_40*tmp_qloop_42*16.0;
+                   const real_t q_tmp_4_4 = tmp_qloop_42*((-tmp_qloop_37 + tmp_qloop_40*-4.0 + 4.0*_data_q_p_1[q])*(-tmp_qloop_37 + tmp_qloop_40*-4.0 + 4.0*_data_q_p_1[q]));
+                   const real_t q_tmp_5_5 = tmp_qloop_42*((-tmp_qloop_37 + tmp_qloop_38*-4.0 + 4.0*_data_q_p_0[q])*(-tmp_qloop_37 + tmp_qloop_38*-4.0 + 4.0*_data_q_p_0[q]));
                    q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
                    q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
                    q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
diff --git a/operators/mass/noarch/P2ElementwiseMassAnnulusMap_apply_P2ElementwiseMassAnnulusMap_macro_2D.cpp b/operators/mass/noarch/P2ElementwiseMassAnnulusMap_apply_P2ElementwiseMassAnnulusMap_macro_2D.cpp
index 81da3f28e7d20d45964000f5ec323df564ae8c0c..8160f93fae58ec8b6b89201140b16621d8b82fac 100644
--- a/operators/mass/noarch/P2ElementwiseMassAnnulusMap_apply_P2ElementwiseMassAnnulusMap_macro_2D.cpp
+++ b/operators/mass/noarch/P2ElementwiseMassAnnulusMap_apply_P2ElementwiseMassAnnulusMap_macro_2D.cpp
@@ -83,18 +83,13 @@ void P2ElementwiseMassAnnulusMap::apply_P2ElementwiseMassAnnulusMap_macro_2D( re
        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_3 = rayVertex_1 - thrVertex_1;
-       const real_t tmp_qloop_4 = -tmp_qloop_3;
-       const real_t tmp_qloop_12 = rayVertex_0 - refVertex_0;
-       const real_t tmp_qloop_13 = rayVertex_0 - thrVertex_0;
-       const real_t tmp_qloop_14 = -tmp_qloop_13;
-       const real_t tmp_qloop_15 = rayVertex_1 - refVertex_1;
-       const real_t tmp_qloop_16 = 1.0 / (-tmp_qloop_12*tmp_qloop_4 + tmp_qloop_14*tmp_qloop_15);
-       const real_t tmp_qloop_17 = radRayVertex - radRefVertex;
-       const real_t tmp_qloop_18 = -tmp_qloop_17;
-       const real_t tmp_qloop_19 = tmp_qloop_16*tmp_qloop_18;
-       const real_t tmp_qloop_20 = tmp_qloop_19*1.0;
-       const real_t tmp_qloop_56 = tmp_qloop_17*1.0 / (tmp_qloop_12*tmp_qloop_3 - tmp_qloop_13*tmp_qloop_15);
+       const real_t tmp_qloop_1 = -rayVertex_1 + thrVertex_1;
+       const real_t tmp_qloop_7 = rayVertex_0 - thrVertex_0;
+       const real_t tmp_qloop_8 = -tmp_qloop_7;
+       const real_t tmp_qloop_9 = 1.0 / (tmp_qloop_1*(-rayVertex_0 + refVertex_0) - tmp_qloop_8*(-rayVertex_1 + refVertex_1));
+       const real_t tmp_qloop_10 = -radRayVertex + radRefVertex;
+       const real_t tmp_qloop_11 = tmp_qloop_10*tmp_qloop_9;
+       const real_t tmp_qloop_12 = tmp_qloop_11*1.0;
        {
           /* FaceType.GRAY */
           for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1)
@@ -146,108 +141,91 @@ void P2ElementwiseMassAnnulusMap::apply_P2ElementwiseMassAnnulusMap_macro_2D( re
              real_t q_acc_4_4 = 0.0;
              real_t q_acc_4_5 = 0.0;
              real_t q_acc_5_5 = 0.0;
-             const real_t tmp_qloop_0 = p_affine_0_0 - p_affine_1_0;
-             const real_t tmp_qloop_1 = p_affine_0_0 - p_affine_2_0;
-             const real_t tmp_qloop_6 = p_affine_0_1 - p_affine_1_1;
-             const real_t tmp_qloop_7 = p_affine_0_1 - p_affine_2_1;
              for (int64_t q = 0; q < 6; q += 1)
              {
-                const real_t tmp_qloop_2 = p_affine_0_0 - tmp_qloop_0*_data_q_p_0[q] - tmp_qloop_1*_data_q_p_1[q];
-                const real_t tmp_qloop_5 = (tmp_qloop_2*tmp_qloop_2);
-                const real_t tmp_qloop_8 = p_affine_0_1 - tmp_qloop_6*_data_q_p_0[q] - tmp_qloop_7*_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_5 + tmp_qloop_9;
-                const real_t tmp_qloop_11 = pow(tmp_qloop_10, -0.50000000000000000);
-                const real_t tmp_qloop_21 = tmp_qloop_11*tmp_qloop_20;
-                const real_t tmp_qloop_22 = tmp_qloop_21*tmp_qloop_4;
-                const real_t tmp_qloop_23 = pow(tmp_qloop_10, -1.5000000000000000);
-                const real_t tmp_qloop_24 = radRayVertex + tmp_qloop_19*(-tmp_qloop_14*(-rayVertex_1 + tmp_qloop_8) + tmp_qloop_4*(-rayVertex_0 + tmp_qloop_2));
-                const real_t tmp_qloop_25 = tmp_qloop_23*tmp_qloop_24;
-                const real_t tmp_qloop_26 = tmp_qloop_25*1.0;
-                const real_t tmp_qloop_27 = tmp_qloop_14*tmp_qloop_21;
-                const real_t tmp_qloop_28 = tmp_qloop_2*tmp_qloop_26;
-                const real_t tmp_qloop_31 = tmp_qloop_20*tmp_qloop_23;
-                const real_t tmp_qloop_32 = tmp_qloop_31*tmp_qloop_4;
-                const real_t tmp_qloop_33 = tmp_qloop_32*tmp_qloop_5;
-                const real_t tmp_qloop_34 = pow(tmp_qloop_10, -2.5000000000000000)*tmp_qloop_24*3.0;
-                const real_t tmp_qloop_35 = tmp_qloop_2*tmp_qloop_34*tmp_qloop_9;
-                const real_t tmp_qloop_36 = tmp_qloop_32*tmp_qloop_9 - tmp_qloop_35;
-                const real_t tmp_qloop_37 = tmp_qloop_13*tmp_qloop_31;
-                const real_t tmp_qloop_38 = tmp_qloop_2*tmp_qloop_8;
-                const real_t tmp_qloop_39 = tmp_qloop_32*tmp_qloop_38;
-                const real_t tmp_qloop_40 = tmp_qloop_25*2.0;
-                const real_t tmp_qloop_41 = tmp_qloop_34*tmp_qloop_5*tmp_qloop_8;
-                const real_t tmp_qloop_42 = tmp_qloop_26*tmp_qloop_8 - tmp_qloop_41;
-                const real_t tmp_qloop_43 = tmp_qloop_37*tmp_qloop_38;
-                const real_t tmp_qloop_44 = tmp_qloop_14*tmp_qloop_31*tmp_qloop_38;
-                const real_t tmp_qloop_45 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
-                const real_t tmp_qloop_46 = (_data_q_p_0[q]*_data_q_p_0[q]);
-                const real_t tmp_qloop_47 = tmp_qloop_46*2.0;
-                const real_t tmp_qloop_48 = (_data_q_p_1[q]*_data_q_p_1[q]);
-                const real_t tmp_qloop_49 = tmp_qloop_48*2.0;
-                const real_t tmp_qloop_50 = tmp_qloop_45 + tmp_qloop_47 + tmp_qloop_49 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0;
-                const real_t tmp_qloop_51 = -p_affine_0_0 + tmp_qloop_0*_data_q_p_0[q] + tmp_qloop_1*_data_q_p_1[q];
-                const real_t tmp_qloop_52 = (tmp_qloop_51*tmp_qloop_51);
-                const real_t tmp_qloop_53 = -p_affine_0_1 + tmp_qloop_6*_data_q_p_0[q] + tmp_qloop_7*_data_q_p_1[q];
-                const real_t tmp_qloop_54 = (tmp_qloop_53*tmp_qloop_53);
-                const real_t tmp_qloop_55 = tmp_qloop_52 + tmp_qloop_54;
-                const real_t tmp_qloop_57 = pow(tmp_qloop_55, -0.50000000000000000)*tmp_qloop_56*1.0;
-                const real_t tmp_qloop_58 = tmp_qloop_51*tmp_qloop_57;
-                const real_t tmp_qloop_59 = tmp_qloop_13*(rayVertex_1 + tmp_qloop_53) - tmp_qloop_3*(rayVertex_0 + tmp_qloop_51);
-                const real_t tmp_qloop_60 = pow(tmp_qloop_55, -1.5000000000000000)*1.0;
-                const real_t tmp_qloop_61 = tmp_qloop_60*(radRayVertex + tmp_qloop_56*tmp_qloop_59);
-                const real_t tmp_qloop_62 = tmp_qloop_53*tmp_qloop_57;
-                const real_t tmp_qloop_63 = tmp_qloop_60*(radRayVertex + tmp_qloop_56*tmp_qloop_59);
-                const real_t tmp_qloop_64 = tmp_qloop_51*tmp_qloop_53;
-                const real_t tmp_qloop_65 = abs_det_jac_affine_GRAY*abs((tmp_qloop_13*tmp_qloop_58 - tmp_qloop_63*tmp_qloop_64)*(tmp_qloop_3*tmp_qloop_62 + tmp_qloop_61*tmp_qloop_64) - (tmp_qloop_13*tmp_qloop_62 + tmp_qloop_52*tmp_qloop_63)*(tmp_qloop_3*tmp_qloop_58 - tmp_qloop_54*tmp_qloop_61))*_data_q_w[q];
-                const real_t tmp_qloop_66 = tmp_qloop_47 - _data_q_p_0[q];
-                const real_t tmp_qloop_67 = tmp_qloop_50*tmp_qloop_65;
-                const real_t tmp_qloop_68 = tmp_qloop_49 - _data_q_p_1[q];
-                const real_t tmp_qloop_69 = -tmp_qloop_45 + tmp_qloop_48*-4.0 + 4.0*_data_q_p_1[q];
-                const real_t tmp_qloop_70 = -tmp_qloop_45 + tmp_qloop_46*-4.0 + 4.0*_data_q_p_0[q];
-                const real_t tmp_qloop_71 = tmp_qloop_65*tmp_qloop_66;
-                const real_t tmp_qloop_72 = tmp_qloop_65*tmp_qloop_68;
-                const real_t tmp_qloop_73 = tmp_qloop_65*tmp_qloop_69;
-                const real_t jac_blending_0_0 = tmp_qloop_2*tmp_qloop_22 + tmp_qloop_26*tmp_qloop_9;
-                const real_t jac_blending_0_1 = -tmp_qloop_2*tmp_qloop_23*tmp_qloop_24*tmp_qloop_8 - tmp_qloop_2*tmp_qloop_27;
-                const real_t jac_blending_1_0 = tmp_qloop_22*tmp_qloop_8 - tmp_qloop_28*tmp_qloop_8;
-                const real_t jac_blending_1_1 = tmp_qloop_23*tmp_qloop_24*tmp_qloop_5*1.0 - tmp_qloop_27*tmp_qloop_8;
-                const real_t tmp_qloop_29 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
-                const real_t tmp_qloop_30 = 1.0 / (tmp_qloop_29);
-                const real_t abs_det_jac_blending = tmp_qloop_29;
-                const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_30;
-                const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_30;
-                const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_30;
-                const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_30;
-                const real_t hessian_blending_0_0_0 = tmp_qloop_22 - tmp_qloop_33 + tmp_qloop_36;
-                const real_t hessian_blending_1_0_0 = -tmp_qloop_34*(tmp_qloop_8*tmp_qloop_8*tmp_qloop_8) + tmp_qloop_37*tmp_qloop_9 - tmp_qloop_39 + tmp_qloop_40*tmp_qloop_8;
-                const real_t hessian_blending_0_0_1 = tmp_qloop_19*tmp_qloop_23*tmp_qloop_38*tmp_qloop_4*-2.0 - tmp_qloop_42;
-                const real_t hessian_blending_1_0_1 = tmp_qloop_11*tmp_qloop_16*tmp_qloop_18*tmp_qloop_4*1.0 - tmp_qloop_28 - tmp_qloop_36 - tmp_qloop_43;
-                const real_t hessian_blending_0_1_0 = tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 - tmp_qloop_27 - tmp_qloop_39 - tmp_qloop_42;
-                const real_t hessian_blending_1_1_0 = -tmp_qloop_28 + tmp_qloop_35 - tmp_qloop_43 + tmp_qloop_44;
-                const real_t hessian_blending_0_1_1 = tmp_qloop_2*tmp_qloop_40 - (tmp_qloop_2*tmp_qloop_2*tmp_qloop_2)*tmp_qloop_34 + tmp_qloop_33 + tmp_qloop_44;
-                const real_t hessian_blending_1_1_1 = tmp_qloop_13*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 + tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_9*1.0 - tmp_qloop_27 - tmp_qloop_41;
-                const real_t q_tmp_0_0 = (tmp_qloop_50*tmp_qloop_50)*tmp_qloop_65;
-                const real_t q_tmp_0_1 = tmp_qloop_66*tmp_qloop_67;
-                const real_t q_tmp_0_2 = tmp_qloop_67*tmp_qloop_68;
-                const real_t q_tmp_0_3 = tmp_qloop_45*tmp_qloop_67;
-                const real_t q_tmp_0_4 = tmp_qloop_67*tmp_qloop_69;
-                const real_t q_tmp_0_5 = tmp_qloop_67*tmp_qloop_70;
-                const real_t q_tmp_1_1 = tmp_qloop_65*(tmp_qloop_66*tmp_qloop_66);
-                const real_t q_tmp_1_2 = tmp_qloop_68*tmp_qloop_71;
-                const real_t q_tmp_1_3 = tmp_qloop_45*tmp_qloop_71;
-                const real_t q_tmp_1_4 = tmp_qloop_69*tmp_qloop_71;
-                const real_t q_tmp_1_5 = tmp_qloop_70*tmp_qloop_71;
-                const real_t q_tmp_2_2 = tmp_qloop_65*(tmp_qloop_68*tmp_qloop_68);
-                const real_t q_tmp_2_3 = tmp_qloop_45*tmp_qloop_72;
-                const real_t q_tmp_2_4 = tmp_qloop_69*tmp_qloop_72;
-                const real_t q_tmp_2_5 = tmp_qloop_70*tmp_qloop_72;
-                const real_t q_tmp_3_3 = tmp_qloop_46*tmp_qloop_48*tmp_qloop_65*16.0;
-                const real_t q_tmp_3_4 = tmp_qloop_45*tmp_qloop_73;
-                const real_t q_tmp_3_5 = tmp_qloop_45*tmp_qloop_65*tmp_qloop_70;
-                const real_t q_tmp_4_4 = tmp_qloop_65*(tmp_qloop_69*tmp_qloop_69);
-                const real_t q_tmp_4_5 = tmp_qloop_70*tmp_qloop_73;
-                const real_t q_tmp_5_5 = tmp_qloop_65*(tmp_qloop_70*tmp_qloop_70);
+                const real_t tmp_qloop_0 = 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_2 = (tmp_qloop_0*tmp_qloop_0);
+                const real_t tmp_qloop_3 = 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_4 = (tmp_qloop_3*tmp_qloop_3);
+                const real_t tmp_qloop_5 = tmp_qloop_2 + tmp_qloop_4;
+                const real_t tmp_qloop_6 = pow(tmp_qloop_5, -0.50000000000000000);
+                const real_t tmp_qloop_13 = tmp_qloop_12*tmp_qloop_6;
+                const real_t tmp_qloop_14 = tmp_qloop_1*tmp_qloop_13;
+                const real_t tmp_qloop_15 = pow(tmp_qloop_5, -1.5000000000000000);
+                const real_t tmp_qloop_16 = radRayVertex + tmp_qloop_11*(tmp_qloop_1*(-rayVertex_0 + tmp_qloop_0) - tmp_qloop_8*(-rayVertex_1 + tmp_qloop_3));
+                const real_t tmp_qloop_17 = tmp_qloop_15*tmp_qloop_16;
+                const real_t tmp_qloop_18 = tmp_qloop_17*1.0;
+                const real_t tmp_qloop_19 = tmp_qloop_13*tmp_qloop_8;
+                const real_t tmp_qloop_20 = tmp_qloop_0*tmp_qloop_18;
+                const real_t tmp_qloop_23 = tmp_qloop_12*tmp_qloop_15;
+                const real_t tmp_qloop_24 = tmp_qloop_1*tmp_qloop_23;
+                const real_t tmp_qloop_25 = tmp_qloop_2*tmp_qloop_24;
+                const real_t tmp_qloop_26 = tmp_qloop_16*pow(tmp_qloop_5, -2.5000000000000000)*3.0;
+                const real_t tmp_qloop_27 = tmp_qloop_0*tmp_qloop_26*tmp_qloop_4;
+                const real_t tmp_qloop_28 = tmp_qloop_24*tmp_qloop_4 - tmp_qloop_27;
+                const real_t tmp_qloop_29 = tmp_qloop_23*tmp_qloop_7;
+                const real_t tmp_qloop_30 = tmp_qloop_0*tmp_qloop_3;
+                const real_t tmp_qloop_31 = tmp_qloop_24*tmp_qloop_30;
+                const real_t tmp_qloop_32 = tmp_qloop_17*2.0;
+                const real_t tmp_qloop_33 = tmp_qloop_2*tmp_qloop_26*tmp_qloop_3;
+                const real_t tmp_qloop_34 = tmp_qloop_18*tmp_qloop_3 - tmp_qloop_33;
+                const real_t tmp_qloop_35 = tmp_qloop_29*tmp_qloop_30;
+                const real_t tmp_qloop_36 = tmp_qloop_23*tmp_qloop_30*tmp_qloop_8;
+                const real_t tmp_qloop_37 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                const real_t tmp_qloop_38 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_39 = tmp_qloop_38*2.0;
+                const real_t tmp_qloop_40 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_41 = tmp_qloop_40*2.0;
+                const real_t tmp_qloop_42 = tmp_qloop_37 + tmp_qloop_39 + tmp_qloop_41 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0;
+                const real_t tmp_qloop_44 = tmp_qloop_39 - _data_q_p_0[q];
+                const real_t tmp_qloop_46 = tmp_qloop_41 - _data_q_p_1[q];
+                const real_t tmp_qloop_47 = -tmp_qloop_37 + tmp_qloop_40*-4.0 + 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_48 = -tmp_qloop_37 + tmp_qloop_38*-4.0 + 4.0*_data_q_p_0[q];
+                const real_t jac_blending_0_0 = tmp_qloop_0*tmp_qloop_14 + tmp_qloop_18*tmp_qloop_4;
+                const real_t jac_blending_0_1 = -tmp_qloop_0*tmp_qloop_15*tmp_qloop_16*tmp_qloop_3 - tmp_qloop_0*tmp_qloop_19;
+                const real_t jac_blending_1_0 = tmp_qloop_14*tmp_qloop_3 - tmp_qloop_20*tmp_qloop_3;
+                const real_t jac_blending_1_1 = tmp_qloop_15*tmp_qloop_16*tmp_qloop_2*1.0 - tmp_qloop_19*tmp_qloop_3;
+                const real_t tmp_qloop_21 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
+                const real_t tmp_qloop_22 = 1.0 / (tmp_qloop_21);
+                const real_t abs_det_jac_blending = tmp_qloop_21;
+                const real_t tmp_qloop_43 = abs_det_jac_affine_GRAY*abs_det_jac_blending*_data_q_w[q];
+                const real_t tmp_qloop_45 = tmp_qloop_42*tmp_qloop_43;
+                const real_t tmp_qloop_49 = tmp_qloop_43*tmp_qloop_44;
+                const real_t tmp_qloop_50 = tmp_qloop_43*tmp_qloop_46;
+                const real_t tmp_qloop_51 = tmp_qloop_43*tmp_qloop_47;
+                const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_22;
+                const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_22;
+                const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_22;
+                const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_22;
+                const real_t hessian_blending_0_0_0 = tmp_qloop_14 - tmp_qloop_25 + tmp_qloop_28;
+                const real_t hessian_blending_1_0_0 = -tmp_qloop_26*(tmp_qloop_3*tmp_qloop_3*tmp_qloop_3) + tmp_qloop_29*tmp_qloop_4 + tmp_qloop_3*tmp_qloop_32 - tmp_qloop_31;
+                const real_t hessian_blending_0_0_1 = tmp_qloop_1*tmp_qloop_11*tmp_qloop_15*tmp_qloop_30*-2.0 - tmp_qloop_34;
+                const real_t hessian_blending_1_0_1 = tmp_qloop_1*tmp_qloop_10*tmp_qloop_6*tmp_qloop_9*1.0 - tmp_qloop_20 - tmp_qloop_28 - tmp_qloop_35;
+                const real_t hessian_blending_0_1_0 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_31 - tmp_qloop_34;
+                const real_t hessian_blending_1_1_0 = -tmp_qloop_20 + tmp_qloop_27 - tmp_qloop_35 + tmp_qloop_36;
+                const real_t hessian_blending_0_1_1 = tmp_qloop_0*tmp_qloop_32 - (tmp_qloop_0*tmp_qloop_0*tmp_qloop_0)*tmp_qloop_26 + tmp_qloop_25 + tmp_qloop_36;
+                const real_t hessian_blending_1_1_1 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_7*tmp_qloop_9*1.0 + tmp_qloop_10*tmp_qloop_15*tmp_qloop_4*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_33;
+                const real_t q_tmp_0_0 = (tmp_qloop_42*tmp_qloop_42)*tmp_qloop_43;
+                const real_t q_tmp_0_1 = tmp_qloop_44*tmp_qloop_45;
+                const real_t q_tmp_0_2 = tmp_qloop_45*tmp_qloop_46;
+                const real_t q_tmp_0_3 = tmp_qloop_37*tmp_qloop_45;
+                const real_t q_tmp_0_4 = tmp_qloop_45*tmp_qloop_47;
+                const real_t q_tmp_0_5 = tmp_qloop_45*tmp_qloop_48;
+                const real_t q_tmp_1_1 = tmp_qloop_43*(tmp_qloop_44*tmp_qloop_44);
+                const real_t q_tmp_1_2 = tmp_qloop_46*tmp_qloop_49;
+                const real_t q_tmp_1_3 = tmp_qloop_37*tmp_qloop_49;
+                const real_t q_tmp_1_4 = tmp_qloop_47*tmp_qloop_49;
+                const real_t q_tmp_1_5 = tmp_qloop_48*tmp_qloop_49;
+                const real_t q_tmp_2_2 = tmp_qloop_43*(tmp_qloop_46*tmp_qloop_46);
+                const real_t q_tmp_2_3 = tmp_qloop_37*tmp_qloop_50;
+                const real_t q_tmp_2_4 = tmp_qloop_47*tmp_qloop_50;
+                const real_t q_tmp_2_5 = tmp_qloop_48*tmp_qloop_50;
+                const real_t q_tmp_3_3 = tmp_qloop_38*tmp_qloop_40*tmp_qloop_43*16.0;
+                const real_t q_tmp_3_4 = tmp_qloop_37*tmp_qloop_51;
+                const real_t q_tmp_3_5 = tmp_qloop_37*tmp_qloop_43*tmp_qloop_48;
+                const real_t q_tmp_4_4 = tmp_qloop_43*(tmp_qloop_47*tmp_qloop_47);
+                const real_t q_tmp_4_5 = tmp_qloop_48*tmp_qloop_51;
+                const real_t q_tmp_5_5 = tmp_qloop_43*(tmp_qloop_48*tmp_qloop_48);
                 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;
@@ -351,108 +329,91 @@ void P2ElementwiseMassAnnulusMap::apply_P2ElementwiseMassAnnulusMap_macro_2D( re
              real_t q_acc_4_4 = 0.0;
              real_t q_acc_4_5 = 0.0;
              real_t q_acc_5_5 = 0.0;
-             const real_t tmp_qloop_0 = p_affine_0_0 - p_affine_1_0;
-             const real_t tmp_qloop_1 = p_affine_0_0 - p_affine_2_0;
-             const real_t tmp_qloop_6 = p_affine_0_1 - p_affine_1_1;
-             const real_t tmp_qloop_7 = p_affine_0_1 - p_affine_2_1;
              for (int64_t q = 0; q < 6; q += 1)
              {
-                const real_t tmp_qloop_2 = p_affine_0_0 - tmp_qloop_0*_data_q_p_0[q] - tmp_qloop_1*_data_q_p_1[q];
-                const real_t tmp_qloop_5 = (tmp_qloop_2*tmp_qloop_2);
-                const real_t tmp_qloop_8 = p_affine_0_1 - tmp_qloop_6*_data_q_p_0[q] - tmp_qloop_7*_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_5 + tmp_qloop_9;
-                const real_t tmp_qloop_11 = pow(tmp_qloop_10, -0.50000000000000000);
-                const real_t tmp_qloop_21 = tmp_qloop_11*tmp_qloop_20;
-                const real_t tmp_qloop_22 = tmp_qloop_21*tmp_qloop_4;
-                const real_t tmp_qloop_23 = pow(tmp_qloop_10, -1.5000000000000000);
-                const real_t tmp_qloop_24 = radRayVertex + tmp_qloop_19*(-tmp_qloop_14*(-rayVertex_1 + tmp_qloop_8) + tmp_qloop_4*(-rayVertex_0 + tmp_qloop_2));
-                const real_t tmp_qloop_25 = tmp_qloop_23*tmp_qloop_24;
-                const real_t tmp_qloop_26 = tmp_qloop_25*1.0;
-                const real_t tmp_qloop_27 = tmp_qloop_14*tmp_qloop_21;
-                const real_t tmp_qloop_28 = tmp_qloop_2*tmp_qloop_26;
-                const real_t tmp_qloop_31 = tmp_qloop_20*tmp_qloop_23;
-                const real_t tmp_qloop_32 = tmp_qloop_31*tmp_qloop_4;
-                const real_t tmp_qloop_33 = tmp_qloop_32*tmp_qloop_5;
-                const real_t tmp_qloop_34 = pow(tmp_qloop_10, -2.5000000000000000)*tmp_qloop_24*3.0;
-                const real_t tmp_qloop_35 = tmp_qloop_2*tmp_qloop_34*tmp_qloop_9;
-                const real_t tmp_qloop_36 = tmp_qloop_32*tmp_qloop_9 - tmp_qloop_35;
-                const real_t tmp_qloop_37 = tmp_qloop_13*tmp_qloop_31;
-                const real_t tmp_qloop_38 = tmp_qloop_2*tmp_qloop_8;
-                const real_t tmp_qloop_39 = tmp_qloop_32*tmp_qloop_38;
-                const real_t tmp_qloop_40 = tmp_qloop_25*2.0;
-                const real_t tmp_qloop_41 = tmp_qloop_34*tmp_qloop_5*tmp_qloop_8;
-                const real_t tmp_qloop_42 = tmp_qloop_26*tmp_qloop_8 - tmp_qloop_41;
-                const real_t tmp_qloop_43 = tmp_qloop_37*tmp_qloop_38;
-                const real_t tmp_qloop_44 = tmp_qloop_14*tmp_qloop_31*tmp_qloop_38;
-                const real_t tmp_qloop_45 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
-                const real_t tmp_qloop_46 = (_data_q_p_0[q]*_data_q_p_0[q]);
-                const real_t tmp_qloop_47 = tmp_qloop_46*2.0;
-                const real_t tmp_qloop_48 = (_data_q_p_1[q]*_data_q_p_1[q]);
-                const real_t tmp_qloop_49 = tmp_qloop_48*2.0;
-                const real_t tmp_qloop_50 = tmp_qloop_45 + tmp_qloop_47 + tmp_qloop_49 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0;
-                const real_t tmp_qloop_51 = -p_affine_0_0 + tmp_qloop_0*_data_q_p_0[q] + tmp_qloop_1*_data_q_p_1[q];
-                const real_t tmp_qloop_52 = (tmp_qloop_51*tmp_qloop_51);
-                const real_t tmp_qloop_53 = -p_affine_0_1 + tmp_qloop_6*_data_q_p_0[q] + tmp_qloop_7*_data_q_p_1[q];
-                const real_t tmp_qloop_54 = (tmp_qloop_53*tmp_qloop_53);
-                const real_t tmp_qloop_55 = tmp_qloop_52 + tmp_qloop_54;
-                const real_t tmp_qloop_57 = pow(tmp_qloop_55, -0.50000000000000000)*tmp_qloop_56*1.0;
-                const real_t tmp_qloop_58 = tmp_qloop_51*tmp_qloop_57;
-                const real_t tmp_qloop_59 = tmp_qloop_13*(rayVertex_1 + tmp_qloop_53) - tmp_qloop_3*(rayVertex_0 + tmp_qloop_51);
-                const real_t tmp_qloop_60 = pow(tmp_qloop_55, -1.5000000000000000)*1.0;
-                const real_t tmp_qloop_61 = tmp_qloop_60*(radRayVertex + tmp_qloop_56*tmp_qloop_59);
-                const real_t tmp_qloop_62 = tmp_qloop_53*tmp_qloop_57;
-                const real_t tmp_qloop_63 = tmp_qloop_60*(radRayVertex + tmp_qloop_56*tmp_qloop_59);
-                const real_t tmp_qloop_64 = tmp_qloop_51*tmp_qloop_53;
-                const real_t tmp_qloop_65 = abs_det_jac_affine_BLUE*abs((tmp_qloop_13*tmp_qloop_58 - tmp_qloop_63*tmp_qloop_64)*(tmp_qloop_3*tmp_qloop_62 + tmp_qloop_61*tmp_qloop_64) - (tmp_qloop_13*tmp_qloop_62 + tmp_qloop_52*tmp_qloop_63)*(tmp_qloop_3*tmp_qloop_58 - tmp_qloop_54*tmp_qloop_61))*_data_q_w[q];
-                const real_t tmp_qloop_66 = tmp_qloop_47 - _data_q_p_0[q];
-                const real_t tmp_qloop_67 = tmp_qloop_50*tmp_qloop_65;
-                const real_t tmp_qloop_68 = tmp_qloop_49 - _data_q_p_1[q];
-                const real_t tmp_qloop_69 = -tmp_qloop_45 + tmp_qloop_48*-4.0 + 4.0*_data_q_p_1[q];
-                const real_t tmp_qloop_70 = -tmp_qloop_45 + tmp_qloop_46*-4.0 + 4.0*_data_q_p_0[q];
-                const real_t tmp_qloop_71 = tmp_qloop_65*tmp_qloop_66;
-                const real_t tmp_qloop_72 = tmp_qloop_65*tmp_qloop_68;
-                const real_t tmp_qloop_73 = tmp_qloop_65*tmp_qloop_69;
-                const real_t jac_blending_0_0 = tmp_qloop_2*tmp_qloop_22 + tmp_qloop_26*tmp_qloop_9;
-                const real_t jac_blending_0_1 = -tmp_qloop_2*tmp_qloop_23*tmp_qloop_24*tmp_qloop_8 - tmp_qloop_2*tmp_qloop_27;
-                const real_t jac_blending_1_0 = tmp_qloop_22*tmp_qloop_8 - tmp_qloop_28*tmp_qloop_8;
-                const real_t jac_blending_1_1 = tmp_qloop_23*tmp_qloop_24*tmp_qloop_5*1.0 - tmp_qloop_27*tmp_qloop_8;
-                const real_t tmp_qloop_29 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
-                const real_t tmp_qloop_30 = 1.0 / (tmp_qloop_29);
-                const real_t abs_det_jac_blending = tmp_qloop_29;
-                const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_30;
-                const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_30;
-                const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_30;
-                const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_30;
-                const real_t hessian_blending_0_0_0 = tmp_qloop_22 - tmp_qloop_33 + tmp_qloop_36;
-                const real_t hessian_blending_1_0_0 = -tmp_qloop_34*(tmp_qloop_8*tmp_qloop_8*tmp_qloop_8) + tmp_qloop_37*tmp_qloop_9 - tmp_qloop_39 + tmp_qloop_40*tmp_qloop_8;
-                const real_t hessian_blending_0_0_1 = tmp_qloop_19*tmp_qloop_23*tmp_qloop_38*tmp_qloop_4*-2.0 - tmp_qloop_42;
-                const real_t hessian_blending_1_0_1 = tmp_qloop_11*tmp_qloop_16*tmp_qloop_18*tmp_qloop_4*1.0 - tmp_qloop_28 - tmp_qloop_36 - tmp_qloop_43;
-                const real_t hessian_blending_0_1_0 = tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 - tmp_qloop_27 - tmp_qloop_39 - tmp_qloop_42;
-                const real_t hessian_blending_1_1_0 = -tmp_qloop_28 + tmp_qloop_35 - tmp_qloop_43 + tmp_qloop_44;
-                const real_t hessian_blending_0_1_1 = tmp_qloop_2*tmp_qloop_40 - (tmp_qloop_2*tmp_qloop_2*tmp_qloop_2)*tmp_qloop_34 + tmp_qloop_33 + tmp_qloop_44;
-                const real_t hessian_blending_1_1_1 = tmp_qloop_13*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 + tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_9*1.0 - tmp_qloop_27 - tmp_qloop_41;
-                const real_t q_tmp_0_0 = (tmp_qloop_50*tmp_qloop_50)*tmp_qloop_65;
-                const real_t q_tmp_0_1 = tmp_qloop_66*tmp_qloop_67;
-                const real_t q_tmp_0_2 = tmp_qloop_67*tmp_qloop_68;
-                const real_t q_tmp_0_3 = tmp_qloop_45*tmp_qloop_67;
-                const real_t q_tmp_0_4 = tmp_qloop_67*tmp_qloop_69;
-                const real_t q_tmp_0_5 = tmp_qloop_67*tmp_qloop_70;
-                const real_t q_tmp_1_1 = tmp_qloop_65*(tmp_qloop_66*tmp_qloop_66);
-                const real_t q_tmp_1_2 = tmp_qloop_68*tmp_qloop_71;
-                const real_t q_tmp_1_3 = tmp_qloop_45*tmp_qloop_71;
-                const real_t q_tmp_1_4 = tmp_qloop_69*tmp_qloop_71;
-                const real_t q_tmp_1_5 = tmp_qloop_70*tmp_qloop_71;
-                const real_t q_tmp_2_2 = tmp_qloop_65*(tmp_qloop_68*tmp_qloop_68);
-                const real_t q_tmp_2_3 = tmp_qloop_45*tmp_qloop_72;
-                const real_t q_tmp_2_4 = tmp_qloop_69*tmp_qloop_72;
-                const real_t q_tmp_2_5 = tmp_qloop_70*tmp_qloop_72;
-                const real_t q_tmp_3_3 = tmp_qloop_46*tmp_qloop_48*tmp_qloop_65*16.0;
-                const real_t q_tmp_3_4 = tmp_qloop_45*tmp_qloop_73;
-                const real_t q_tmp_3_5 = tmp_qloop_45*tmp_qloop_65*tmp_qloop_70;
-                const real_t q_tmp_4_4 = tmp_qloop_65*(tmp_qloop_69*tmp_qloop_69);
-                const real_t q_tmp_4_5 = tmp_qloop_70*tmp_qloop_73;
-                const real_t q_tmp_5_5 = tmp_qloop_65*(tmp_qloop_70*tmp_qloop_70);
+                const real_t tmp_qloop_0 = 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_2 = (tmp_qloop_0*tmp_qloop_0);
+                const real_t tmp_qloop_3 = 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_4 = (tmp_qloop_3*tmp_qloop_3);
+                const real_t tmp_qloop_5 = tmp_qloop_2 + tmp_qloop_4;
+                const real_t tmp_qloop_6 = pow(tmp_qloop_5, -0.50000000000000000);
+                const real_t tmp_qloop_13 = tmp_qloop_12*tmp_qloop_6;
+                const real_t tmp_qloop_14 = tmp_qloop_1*tmp_qloop_13;
+                const real_t tmp_qloop_15 = pow(tmp_qloop_5, -1.5000000000000000);
+                const real_t tmp_qloop_16 = radRayVertex + tmp_qloop_11*(tmp_qloop_1*(-rayVertex_0 + tmp_qloop_0) - tmp_qloop_8*(-rayVertex_1 + tmp_qloop_3));
+                const real_t tmp_qloop_17 = tmp_qloop_15*tmp_qloop_16;
+                const real_t tmp_qloop_18 = tmp_qloop_17*1.0;
+                const real_t tmp_qloop_19 = tmp_qloop_13*tmp_qloop_8;
+                const real_t tmp_qloop_20 = tmp_qloop_0*tmp_qloop_18;
+                const real_t tmp_qloop_23 = tmp_qloop_12*tmp_qloop_15;
+                const real_t tmp_qloop_24 = tmp_qloop_1*tmp_qloop_23;
+                const real_t tmp_qloop_25 = tmp_qloop_2*tmp_qloop_24;
+                const real_t tmp_qloop_26 = tmp_qloop_16*pow(tmp_qloop_5, -2.5000000000000000)*3.0;
+                const real_t tmp_qloop_27 = tmp_qloop_0*tmp_qloop_26*tmp_qloop_4;
+                const real_t tmp_qloop_28 = tmp_qloop_24*tmp_qloop_4 - tmp_qloop_27;
+                const real_t tmp_qloop_29 = tmp_qloop_23*tmp_qloop_7;
+                const real_t tmp_qloop_30 = tmp_qloop_0*tmp_qloop_3;
+                const real_t tmp_qloop_31 = tmp_qloop_24*tmp_qloop_30;
+                const real_t tmp_qloop_32 = tmp_qloop_17*2.0;
+                const real_t tmp_qloop_33 = tmp_qloop_2*tmp_qloop_26*tmp_qloop_3;
+                const real_t tmp_qloop_34 = tmp_qloop_18*tmp_qloop_3 - tmp_qloop_33;
+                const real_t tmp_qloop_35 = tmp_qloop_29*tmp_qloop_30;
+                const real_t tmp_qloop_36 = tmp_qloop_23*tmp_qloop_30*tmp_qloop_8;
+                const real_t tmp_qloop_37 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                const real_t tmp_qloop_38 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_39 = tmp_qloop_38*2.0;
+                const real_t tmp_qloop_40 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_41 = tmp_qloop_40*2.0;
+                const real_t tmp_qloop_42 = tmp_qloop_37 + tmp_qloop_39 + tmp_qloop_41 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0;
+                const real_t tmp_qloop_44 = tmp_qloop_39 - _data_q_p_0[q];
+                const real_t tmp_qloop_46 = tmp_qloop_41 - _data_q_p_1[q];
+                const real_t tmp_qloop_47 = -tmp_qloop_37 + tmp_qloop_40*-4.0 + 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_48 = -tmp_qloop_37 + tmp_qloop_38*-4.0 + 4.0*_data_q_p_0[q];
+                const real_t jac_blending_0_0 = tmp_qloop_0*tmp_qloop_14 + tmp_qloop_18*tmp_qloop_4;
+                const real_t jac_blending_0_1 = -tmp_qloop_0*tmp_qloop_15*tmp_qloop_16*tmp_qloop_3 - tmp_qloop_0*tmp_qloop_19;
+                const real_t jac_blending_1_0 = tmp_qloop_14*tmp_qloop_3 - tmp_qloop_20*tmp_qloop_3;
+                const real_t jac_blending_1_1 = tmp_qloop_15*tmp_qloop_16*tmp_qloop_2*1.0 - tmp_qloop_19*tmp_qloop_3;
+                const real_t tmp_qloop_21 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
+                const real_t tmp_qloop_22 = 1.0 / (tmp_qloop_21);
+                const real_t abs_det_jac_blending = tmp_qloop_21;
+                const real_t tmp_qloop_43 = abs_det_jac_affine_BLUE*abs_det_jac_blending*_data_q_w[q];
+                const real_t tmp_qloop_45 = tmp_qloop_42*tmp_qloop_43;
+                const real_t tmp_qloop_49 = tmp_qloop_43*tmp_qloop_44;
+                const real_t tmp_qloop_50 = tmp_qloop_43*tmp_qloop_46;
+                const real_t tmp_qloop_51 = tmp_qloop_43*tmp_qloop_47;
+                const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_22;
+                const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_22;
+                const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_22;
+                const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_22;
+                const real_t hessian_blending_0_0_0 = tmp_qloop_14 - tmp_qloop_25 + tmp_qloop_28;
+                const real_t hessian_blending_1_0_0 = -tmp_qloop_26*(tmp_qloop_3*tmp_qloop_3*tmp_qloop_3) + tmp_qloop_29*tmp_qloop_4 + tmp_qloop_3*tmp_qloop_32 - tmp_qloop_31;
+                const real_t hessian_blending_0_0_1 = tmp_qloop_1*tmp_qloop_11*tmp_qloop_15*tmp_qloop_30*-2.0 - tmp_qloop_34;
+                const real_t hessian_blending_1_0_1 = tmp_qloop_1*tmp_qloop_10*tmp_qloop_6*tmp_qloop_9*1.0 - tmp_qloop_20 - tmp_qloop_28 - tmp_qloop_35;
+                const real_t hessian_blending_0_1_0 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_31 - tmp_qloop_34;
+                const real_t hessian_blending_1_1_0 = -tmp_qloop_20 + tmp_qloop_27 - tmp_qloop_35 + tmp_qloop_36;
+                const real_t hessian_blending_0_1_1 = tmp_qloop_0*tmp_qloop_32 - (tmp_qloop_0*tmp_qloop_0*tmp_qloop_0)*tmp_qloop_26 + tmp_qloop_25 + tmp_qloop_36;
+                const real_t hessian_blending_1_1_1 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_7*tmp_qloop_9*1.0 + tmp_qloop_10*tmp_qloop_15*tmp_qloop_4*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_33;
+                const real_t q_tmp_0_0 = (tmp_qloop_42*tmp_qloop_42)*tmp_qloop_43;
+                const real_t q_tmp_0_1 = tmp_qloop_44*tmp_qloop_45;
+                const real_t q_tmp_0_2 = tmp_qloop_45*tmp_qloop_46;
+                const real_t q_tmp_0_3 = tmp_qloop_37*tmp_qloop_45;
+                const real_t q_tmp_0_4 = tmp_qloop_45*tmp_qloop_47;
+                const real_t q_tmp_0_5 = tmp_qloop_45*tmp_qloop_48;
+                const real_t q_tmp_1_1 = tmp_qloop_43*(tmp_qloop_44*tmp_qloop_44);
+                const real_t q_tmp_1_2 = tmp_qloop_46*tmp_qloop_49;
+                const real_t q_tmp_1_3 = tmp_qloop_37*tmp_qloop_49;
+                const real_t q_tmp_1_4 = tmp_qloop_47*tmp_qloop_49;
+                const real_t q_tmp_1_5 = tmp_qloop_48*tmp_qloop_49;
+                const real_t q_tmp_2_2 = tmp_qloop_43*(tmp_qloop_46*tmp_qloop_46);
+                const real_t q_tmp_2_3 = tmp_qloop_37*tmp_qloop_50;
+                const real_t q_tmp_2_4 = tmp_qloop_47*tmp_qloop_50;
+                const real_t q_tmp_2_5 = tmp_qloop_48*tmp_qloop_50;
+                const real_t q_tmp_3_3 = tmp_qloop_38*tmp_qloop_40*tmp_qloop_43*16.0;
+                const real_t q_tmp_3_4 = tmp_qloop_37*tmp_qloop_51;
+                const real_t q_tmp_3_5 = tmp_qloop_37*tmp_qloop_43*tmp_qloop_48;
+                const real_t q_tmp_4_4 = tmp_qloop_43*(tmp_qloop_47*tmp_qloop_47);
+                const real_t q_tmp_4_5 = tmp_qloop_48*tmp_qloop_51;
+                const real_t q_tmp_5_5 = tmp_qloop_43*(tmp_qloop_48*tmp_qloop_48);
                 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;
diff --git a/operators/mass/noarch/P2ElementwiseMassAnnulusMap_computeInverseDiagonalOperatorValues_P2ElementwiseMassAnnulusMap_macro_2D.cpp b/operators/mass/noarch/P2ElementwiseMassAnnulusMap_computeInverseDiagonalOperatorValues_P2ElementwiseMassAnnulusMap_macro_2D.cpp
index e48f504bf66ea5aad0302dfd1bcaa09ba9f7e22b..6fed482b0b3b415fcc36f40ca6e354deb16f27a0 100644
--- a/operators/mass/noarch/P2ElementwiseMassAnnulusMap_computeInverseDiagonalOperatorValues_P2ElementwiseMassAnnulusMap_macro_2D.cpp
+++ b/operators/mass/noarch/P2ElementwiseMassAnnulusMap_computeInverseDiagonalOperatorValues_P2ElementwiseMassAnnulusMap_macro_2D.cpp
@@ -83,18 +83,13 @@ void P2ElementwiseMassAnnulusMap::computeInverseDiagonalOperatorValues_P2Element
        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_3 = rayVertex_1 - thrVertex_1;
-       const real_t tmp_qloop_4 = -tmp_qloop_3;
-       const real_t tmp_qloop_12 = rayVertex_0 - refVertex_0;
-       const real_t tmp_qloop_13 = rayVertex_0 - thrVertex_0;
-       const real_t tmp_qloop_14 = -tmp_qloop_13;
-       const real_t tmp_qloop_15 = rayVertex_1 - refVertex_1;
-       const real_t tmp_qloop_16 = 1.0 / (-tmp_qloop_12*tmp_qloop_4 + tmp_qloop_14*tmp_qloop_15);
-       const real_t tmp_qloop_17 = radRayVertex - radRefVertex;
-       const real_t tmp_qloop_18 = -tmp_qloop_17;
-       const real_t tmp_qloop_19 = tmp_qloop_16*tmp_qloop_18;
-       const real_t tmp_qloop_20 = tmp_qloop_19*1.0;
-       const real_t tmp_qloop_55 = tmp_qloop_17*1.0 / (tmp_qloop_12*tmp_qloop_3 - tmp_qloop_13*tmp_qloop_15);
+       const real_t tmp_qloop_1 = -rayVertex_1 + thrVertex_1;
+       const real_t tmp_qloop_7 = rayVertex_0 - thrVertex_0;
+       const real_t tmp_qloop_8 = -tmp_qloop_7;
+       const real_t tmp_qloop_9 = 1.0 / (tmp_qloop_1*(-rayVertex_0 + refVertex_0) - tmp_qloop_8*(-rayVertex_1 + refVertex_1));
+       const real_t tmp_qloop_10 = -radRayVertex + radRefVertex;
+       const real_t tmp_qloop_11 = tmp_qloop_10*tmp_qloop_9;
+       const real_t tmp_qloop_12 = tmp_qloop_11*1.0;
        {
           /* FaceType.GRAY */
           for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1)
@@ -125,84 +120,67 @@ void P2ElementwiseMassAnnulusMap::computeInverseDiagonalOperatorValues_P2Element
              real_t q_acc_3_3 = 0.0;
              real_t q_acc_4_4 = 0.0;
              real_t q_acc_5_5 = 0.0;
-             const real_t tmp_qloop_0 = p_affine_0_0 - p_affine_1_0;
-             const real_t tmp_qloop_1 = p_affine_0_0 - p_affine_2_0;
-             const real_t tmp_qloop_6 = p_affine_0_1 - p_affine_1_1;
-             const real_t tmp_qloop_7 = p_affine_0_1 - p_affine_2_1;
              for (int64_t q = 0; q < 6; q += 1)
              {
-                const real_t tmp_qloop_2 = p_affine_0_0 - tmp_qloop_0*_data_q_p_0[q] - tmp_qloop_1*_data_q_p_1[q];
-                const real_t tmp_qloop_5 = (tmp_qloop_2*tmp_qloop_2);
-                const real_t tmp_qloop_8 = p_affine_0_1 - tmp_qloop_6*_data_q_p_0[q] - tmp_qloop_7*_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_5 + tmp_qloop_9;
-                const real_t tmp_qloop_11 = pow(tmp_qloop_10, -0.50000000000000000);
-                const real_t tmp_qloop_21 = tmp_qloop_11*tmp_qloop_20;
-                const real_t tmp_qloop_22 = tmp_qloop_21*tmp_qloop_4;
-                const real_t tmp_qloop_23 = pow(tmp_qloop_10, -1.5000000000000000);
-                const real_t tmp_qloop_24 = radRayVertex + tmp_qloop_19*(-tmp_qloop_14*(-rayVertex_1 + tmp_qloop_8) + tmp_qloop_4*(-rayVertex_0 + tmp_qloop_2));
-                const real_t tmp_qloop_25 = tmp_qloop_23*tmp_qloop_24;
-                const real_t tmp_qloop_26 = tmp_qloop_25*1.0;
-                const real_t tmp_qloop_27 = tmp_qloop_14*tmp_qloop_21;
-                const real_t tmp_qloop_28 = tmp_qloop_2*tmp_qloop_26;
-                const real_t tmp_qloop_31 = tmp_qloop_20*tmp_qloop_23;
-                const real_t tmp_qloop_32 = tmp_qloop_31*tmp_qloop_4;
-                const real_t tmp_qloop_33 = tmp_qloop_32*tmp_qloop_5;
-                const real_t tmp_qloop_34 = pow(tmp_qloop_10, -2.5000000000000000)*tmp_qloop_24*3.0;
-                const real_t tmp_qloop_35 = tmp_qloop_2*tmp_qloop_34*tmp_qloop_9;
-                const real_t tmp_qloop_36 = tmp_qloop_32*tmp_qloop_9 - tmp_qloop_35;
-                const real_t tmp_qloop_37 = tmp_qloop_13*tmp_qloop_31;
-                const real_t tmp_qloop_38 = tmp_qloop_2*tmp_qloop_8;
-                const real_t tmp_qloop_39 = tmp_qloop_32*tmp_qloop_38;
-                const real_t tmp_qloop_40 = tmp_qloop_25*2.0;
-                const real_t tmp_qloop_41 = tmp_qloop_34*tmp_qloop_5*tmp_qloop_8;
-                const real_t tmp_qloop_42 = tmp_qloop_26*tmp_qloop_8 - tmp_qloop_41;
-                const real_t tmp_qloop_43 = tmp_qloop_37*tmp_qloop_38;
-                const real_t tmp_qloop_44 = tmp_qloop_14*tmp_qloop_31*tmp_qloop_38;
-                const real_t tmp_qloop_45 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
-                const real_t tmp_qloop_46 = (_data_q_p_0[q]*_data_q_p_0[q]);
-                const real_t tmp_qloop_47 = tmp_qloop_46*2.0;
-                const real_t tmp_qloop_48 = (_data_q_p_1[q]*_data_q_p_1[q]);
-                const real_t tmp_qloop_49 = tmp_qloop_48*2.0;
-                const real_t tmp_qloop_50 = -p_affine_0_0 + tmp_qloop_0*_data_q_p_0[q] + tmp_qloop_1*_data_q_p_1[q];
-                const real_t tmp_qloop_51 = (tmp_qloop_50*tmp_qloop_50);
-                const real_t tmp_qloop_52 = -p_affine_0_1 + tmp_qloop_6*_data_q_p_0[q] + tmp_qloop_7*_data_q_p_1[q];
-                const real_t tmp_qloop_53 = (tmp_qloop_52*tmp_qloop_52);
-                const real_t tmp_qloop_54 = tmp_qloop_51 + tmp_qloop_53;
-                const real_t tmp_qloop_56 = pow(tmp_qloop_54, -0.50000000000000000)*tmp_qloop_55*1.0;
-                const real_t tmp_qloop_57 = tmp_qloop_50*tmp_qloop_56;
-                const real_t tmp_qloop_58 = tmp_qloop_13*(rayVertex_1 + tmp_qloop_52) - tmp_qloop_3*(rayVertex_0 + tmp_qloop_50);
-                const real_t tmp_qloop_59 = pow(tmp_qloop_54, -1.5000000000000000)*1.0;
-                const real_t tmp_qloop_60 = tmp_qloop_59*(radRayVertex + tmp_qloop_55*tmp_qloop_58);
-                const real_t tmp_qloop_61 = tmp_qloop_52*tmp_qloop_56;
-                const real_t tmp_qloop_62 = tmp_qloop_59*(radRayVertex + tmp_qloop_55*tmp_qloop_58);
-                const real_t tmp_qloop_63 = tmp_qloop_50*tmp_qloop_52;
-                const real_t tmp_qloop_64 = abs_det_jac_affine_GRAY*abs((tmp_qloop_13*tmp_qloop_57 - tmp_qloop_62*tmp_qloop_63)*(tmp_qloop_3*tmp_qloop_61 + tmp_qloop_60*tmp_qloop_63) - (tmp_qloop_13*tmp_qloop_61 + tmp_qloop_51*tmp_qloop_62)*(tmp_qloop_3*tmp_qloop_57 - tmp_qloop_53*tmp_qloop_60))*_data_q_w[q];
-                const real_t jac_blending_0_0 = tmp_qloop_2*tmp_qloop_22 + tmp_qloop_26*tmp_qloop_9;
-                const real_t jac_blending_0_1 = -tmp_qloop_2*tmp_qloop_23*tmp_qloop_24*tmp_qloop_8 - tmp_qloop_2*tmp_qloop_27;
-                const real_t jac_blending_1_0 = tmp_qloop_22*tmp_qloop_8 - tmp_qloop_28*tmp_qloop_8;
-                const real_t jac_blending_1_1 = tmp_qloop_23*tmp_qloop_24*tmp_qloop_5*1.0 - tmp_qloop_27*tmp_qloop_8;
-                const real_t tmp_qloop_29 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
-                const real_t tmp_qloop_30 = 1.0 / (tmp_qloop_29);
-                const real_t abs_det_jac_blending = tmp_qloop_29;
-                const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_30;
-                const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_30;
-                const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_30;
-                const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_30;
-                const real_t hessian_blending_0_0_0 = tmp_qloop_22 - tmp_qloop_33 + tmp_qloop_36;
-                const real_t hessian_blending_1_0_0 = -tmp_qloop_34*(tmp_qloop_8*tmp_qloop_8*tmp_qloop_8) + tmp_qloop_37*tmp_qloop_9 - tmp_qloop_39 + tmp_qloop_40*tmp_qloop_8;
-                const real_t hessian_blending_0_0_1 = tmp_qloop_19*tmp_qloop_23*tmp_qloop_38*tmp_qloop_4*-2.0 - tmp_qloop_42;
-                const real_t hessian_blending_1_0_1 = tmp_qloop_11*tmp_qloop_16*tmp_qloop_18*tmp_qloop_4*1.0 - tmp_qloop_28 - tmp_qloop_36 - tmp_qloop_43;
-                const real_t hessian_blending_0_1_0 = tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 - tmp_qloop_27 - tmp_qloop_39 - tmp_qloop_42;
-                const real_t hessian_blending_1_1_0 = -tmp_qloop_28 + tmp_qloop_35 - tmp_qloop_43 + tmp_qloop_44;
-                const real_t hessian_blending_0_1_1 = tmp_qloop_2*tmp_qloop_40 - (tmp_qloop_2*tmp_qloop_2*tmp_qloop_2)*tmp_qloop_34 + tmp_qloop_33 + tmp_qloop_44;
-                const real_t hessian_blending_1_1_1 = tmp_qloop_13*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 + tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_9*1.0 - tmp_qloop_27 - tmp_qloop_41;
-                const real_t q_tmp_0_0 = tmp_qloop_64*((tmp_qloop_45 + tmp_qloop_47 + tmp_qloop_49 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0)*(tmp_qloop_45 + tmp_qloop_47 + tmp_qloop_49 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0));
-                const real_t q_tmp_1_1 = tmp_qloop_64*((tmp_qloop_47 - _data_q_p_0[q])*(tmp_qloop_47 - _data_q_p_0[q]));
-                const real_t q_tmp_2_2 = tmp_qloop_64*((tmp_qloop_49 - _data_q_p_1[q])*(tmp_qloop_49 - _data_q_p_1[q]));
-                const real_t q_tmp_3_3 = tmp_qloop_46*tmp_qloop_48*tmp_qloop_64*16.0;
-                const real_t q_tmp_4_4 = tmp_qloop_64*((-tmp_qloop_45 + tmp_qloop_48*-4.0 + 4.0*_data_q_p_1[q])*(-tmp_qloop_45 + tmp_qloop_48*-4.0 + 4.0*_data_q_p_1[q]));
-                const real_t q_tmp_5_5 = tmp_qloop_64*((-tmp_qloop_45 + tmp_qloop_46*-4.0 + 4.0*_data_q_p_0[q])*(-tmp_qloop_45 + tmp_qloop_46*-4.0 + 4.0*_data_q_p_0[q]));
+                const real_t tmp_qloop_0 = 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_2 = (tmp_qloop_0*tmp_qloop_0);
+                const real_t tmp_qloop_3 = 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_4 = (tmp_qloop_3*tmp_qloop_3);
+                const real_t tmp_qloop_5 = tmp_qloop_2 + tmp_qloop_4;
+                const real_t tmp_qloop_6 = pow(tmp_qloop_5, -0.50000000000000000);
+                const real_t tmp_qloop_13 = tmp_qloop_12*tmp_qloop_6;
+                const real_t tmp_qloop_14 = tmp_qloop_1*tmp_qloop_13;
+                const real_t tmp_qloop_15 = pow(tmp_qloop_5, -1.5000000000000000);
+                const real_t tmp_qloop_16 = radRayVertex + tmp_qloop_11*(tmp_qloop_1*(-rayVertex_0 + tmp_qloop_0) - tmp_qloop_8*(-rayVertex_1 + tmp_qloop_3));
+                const real_t tmp_qloop_17 = tmp_qloop_15*tmp_qloop_16;
+                const real_t tmp_qloop_18 = tmp_qloop_17*1.0;
+                const real_t tmp_qloop_19 = tmp_qloop_13*tmp_qloop_8;
+                const real_t tmp_qloop_20 = tmp_qloop_0*tmp_qloop_18;
+                const real_t tmp_qloop_23 = tmp_qloop_12*tmp_qloop_15;
+                const real_t tmp_qloop_24 = tmp_qloop_1*tmp_qloop_23;
+                const real_t tmp_qloop_25 = tmp_qloop_2*tmp_qloop_24;
+                const real_t tmp_qloop_26 = tmp_qloop_16*pow(tmp_qloop_5, -2.5000000000000000)*3.0;
+                const real_t tmp_qloop_27 = tmp_qloop_0*tmp_qloop_26*tmp_qloop_4;
+                const real_t tmp_qloop_28 = tmp_qloop_24*tmp_qloop_4 - tmp_qloop_27;
+                const real_t tmp_qloop_29 = tmp_qloop_23*tmp_qloop_7;
+                const real_t tmp_qloop_30 = tmp_qloop_0*tmp_qloop_3;
+                const real_t tmp_qloop_31 = tmp_qloop_24*tmp_qloop_30;
+                const real_t tmp_qloop_32 = tmp_qloop_17*2.0;
+                const real_t tmp_qloop_33 = tmp_qloop_2*tmp_qloop_26*tmp_qloop_3;
+                const real_t tmp_qloop_34 = tmp_qloop_18*tmp_qloop_3 - tmp_qloop_33;
+                const real_t tmp_qloop_35 = tmp_qloop_29*tmp_qloop_30;
+                const real_t tmp_qloop_36 = tmp_qloop_23*tmp_qloop_30*tmp_qloop_8;
+                const real_t tmp_qloop_37 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                const real_t tmp_qloop_38 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_39 = tmp_qloop_38*2.0;
+                const real_t tmp_qloop_40 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_41 = tmp_qloop_40*2.0;
+                const real_t jac_blending_0_0 = tmp_qloop_0*tmp_qloop_14 + tmp_qloop_18*tmp_qloop_4;
+                const real_t jac_blending_0_1 = -tmp_qloop_0*tmp_qloop_15*tmp_qloop_16*tmp_qloop_3 - tmp_qloop_0*tmp_qloop_19;
+                const real_t jac_blending_1_0 = tmp_qloop_14*tmp_qloop_3 - tmp_qloop_20*tmp_qloop_3;
+                const real_t jac_blending_1_1 = tmp_qloop_15*tmp_qloop_16*tmp_qloop_2*1.0 - tmp_qloop_19*tmp_qloop_3;
+                const real_t tmp_qloop_21 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
+                const real_t tmp_qloop_22 = 1.0 / (tmp_qloop_21);
+                const real_t abs_det_jac_blending = tmp_qloop_21;
+                const real_t tmp_qloop_42 = abs_det_jac_affine_GRAY*abs_det_jac_blending*_data_q_w[q];
+                const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_22;
+                const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_22;
+                const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_22;
+                const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_22;
+                const real_t hessian_blending_0_0_0 = tmp_qloop_14 - tmp_qloop_25 + tmp_qloop_28;
+                const real_t hessian_blending_1_0_0 = -tmp_qloop_26*(tmp_qloop_3*tmp_qloop_3*tmp_qloop_3) + tmp_qloop_29*tmp_qloop_4 + tmp_qloop_3*tmp_qloop_32 - tmp_qloop_31;
+                const real_t hessian_blending_0_0_1 = tmp_qloop_1*tmp_qloop_11*tmp_qloop_15*tmp_qloop_30*-2.0 - tmp_qloop_34;
+                const real_t hessian_blending_1_0_1 = tmp_qloop_1*tmp_qloop_10*tmp_qloop_6*tmp_qloop_9*1.0 - tmp_qloop_20 - tmp_qloop_28 - tmp_qloop_35;
+                const real_t hessian_blending_0_1_0 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_31 - tmp_qloop_34;
+                const real_t hessian_blending_1_1_0 = -tmp_qloop_20 + tmp_qloop_27 - tmp_qloop_35 + tmp_qloop_36;
+                const real_t hessian_blending_0_1_1 = tmp_qloop_0*tmp_qloop_32 - (tmp_qloop_0*tmp_qloop_0*tmp_qloop_0)*tmp_qloop_26 + tmp_qloop_25 + tmp_qloop_36;
+                const real_t hessian_blending_1_1_1 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_7*tmp_qloop_9*1.0 + tmp_qloop_10*tmp_qloop_15*tmp_qloop_4*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_33;
+                const real_t q_tmp_0_0 = tmp_qloop_42*((tmp_qloop_37 + tmp_qloop_39 + tmp_qloop_41 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0)*(tmp_qloop_37 + tmp_qloop_39 + tmp_qloop_41 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0));
+                const real_t q_tmp_1_1 = tmp_qloop_42*((tmp_qloop_39 - _data_q_p_0[q])*(tmp_qloop_39 - _data_q_p_0[q]));
+                const real_t q_tmp_2_2 = tmp_qloop_42*((tmp_qloop_41 - _data_q_p_1[q])*(tmp_qloop_41 - _data_q_p_1[q]));
+                const real_t q_tmp_3_3 = tmp_qloop_38*tmp_qloop_40*tmp_qloop_42*16.0;
+                const real_t q_tmp_4_4 = tmp_qloop_42*((-tmp_qloop_37 + tmp_qloop_40*-4.0 + 4.0*_data_q_p_1[q])*(-tmp_qloop_37 + tmp_qloop_40*-4.0 + 4.0*_data_q_p_1[q]));
+                const real_t q_tmp_5_5 = tmp_qloop_42*((-tmp_qloop_37 + tmp_qloop_38*-4.0 + 4.0*_data_q_p_0[q])*(-tmp_qloop_37 + tmp_qloop_38*-4.0 + 4.0*_data_q_p_0[q]));
                 q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
                 q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
                 q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
@@ -270,84 +248,67 @@ void P2ElementwiseMassAnnulusMap::computeInverseDiagonalOperatorValues_P2Element
              real_t q_acc_3_3 = 0.0;
              real_t q_acc_4_4 = 0.0;
              real_t q_acc_5_5 = 0.0;
-             const real_t tmp_qloop_0 = p_affine_0_0 - p_affine_1_0;
-             const real_t tmp_qloop_1 = p_affine_0_0 - p_affine_2_0;
-             const real_t tmp_qloop_6 = p_affine_0_1 - p_affine_1_1;
-             const real_t tmp_qloop_7 = p_affine_0_1 - p_affine_2_1;
              for (int64_t q = 0; q < 6; q += 1)
              {
-                const real_t tmp_qloop_2 = p_affine_0_0 - tmp_qloop_0*_data_q_p_0[q] - tmp_qloop_1*_data_q_p_1[q];
-                const real_t tmp_qloop_5 = (tmp_qloop_2*tmp_qloop_2);
-                const real_t tmp_qloop_8 = p_affine_0_1 - tmp_qloop_6*_data_q_p_0[q] - tmp_qloop_7*_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_5 + tmp_qloop_9;
-                const real_t tmp_qloop_11 = pow(tmp_qloop_10, -0.50000000000000000);
-                const real_t tmp_qloop_21 = tmp_qloop_11*tmp_qloop_20;
-                const real_t tmp_qloop_22 = tmp_qloop_21*tmp_qloop_4;
-                const real_t tmp_qloop_23 = pow(tmp_qloop_10, -1.5000000000000000);
-                const real_t tmp_qloop_24 = radRayVertex + tmp_qloop_19*(-tmp_qloop_14*(-rayVertex_1 + tmp_qloop_8) + tmp_qloop_4*(-rayVertex_0 + tmp_qloop_2));
-                const real_t tmp_qloop_25 = tmp_qloop_23*tmp_qloop_24;
-                const real_t tmp_qloop_26 = tmp_qloop_25*1.0;
-                const real_t tmp_qloop_27 = tmp_qloop_14*tmp_qloop_21;
-                const real_t tmp_qloop_28 = tmp_qloop_2*tmp_qloop_26;
-                const real_t tmp_qloop_31 = tmp_qloop_20*tmp_qloop_23;
-                const real_t tmp_qloop_32 = tmp_qloop_31*tmp_qloop_4;
-                const real_t tmp_qloop_33 = tmp_qloop_32*tmp_qloop_5;
-                const real_t tmp_qloop_34 = pow(tmp_qloop_10, -2.5000000000000000)*tmp_qloop_24*3.0;
-                const real_t tmp_qloop_35 = tmp_qloop_2*tmp_qloop_34*tmp_qloop_9;
-                const real_t tmp_qloop_36 = tmp_qloop_32*tmp_qloop_9 - tmp_qloop_35;
-                const real_t tmp_qloop_37 = tmp_qloop_13*tmp_qloop_31;
-                const real_t tmp_qloop_38 = tmp_qloop_2*tmp_qloop_8;
-                const real_t tmp_qloop_39 = tmp_qloop_32*tmp_qloop_38;
-                const real_t tmp_qloop_40 = tmp_qloop_25*2.0;
-                const real_t tmp_qloop_41 = tmp_qloop_34*tmp_qloop_5*tmp_qloop_8;
-                const real_t tmp_qloop_42 = tmp_qloop_26*tmp_qloop_8 - tmp_qloop_41;
-                const real_t tmp_qloop_43 = tmp_qloop_37*tmp_qloop_38;
-                const real_t tmp_qloop_44 = tmp_qloop_14*tmp_qloop_31*tmp_qloop_38;
-                const real_t tmp_qloop_45 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
-                const real_t tmp_qloop_46 = (_data_q_p_0[q]*_data_q_p_0[q]);
-                const real_t tmp_qloop_47 = tmp_qloop_46*2.0;
-                const real_t tmp_qloop_48 = (_data_q_p_1[q]*_data_q_p_1[q]);
-                const real_t tmp_qloop_49 = tmp_qloop_48*2.0;
-                const real_t tmp_qloop_50 = -p_affine_0_0 + tmp_qloop_0*_data_q_p_0[q] + tmp_qloop_1*_data_q_p_1[q];
-                const real_t tmp_qloop_51 = (tmp_qloop_50*tmp_qloop_50);
-                const real_t tmp_qloop_52 = -p_affine_0_1 + tmp_qloop_6*_data_q_p_0[q] + tmp_qloop_7*_data_q_p_1[q];
-                const real_t tmp_qloop_53 = (tmp_qloop_52*tmp_qloop_52);
-                const real_t tmp_qloop_54 = tmp_qloop_51 + tmp_qloop_53;
-                const real_t tmp_qloop_56 = pow(tmp_qloop_54, -0.50000000000000000)*tmp_qloop_55*1.0;
-                const real_t tmp_qloop_57 = tmp_qloop_50*tmp_qloop_56;
-                const real_t tmp_qloop_58 = tmp_qloop_13*(rayVertex_1 + tmp_qloop_52) - tmp_qloop_3*(rayVertex_0 + tmp_qloop_50);
-                const real_t tmp_qloop_59 = pow(tmp_qloop_54, -1.5000000000000000)*1.0;
-                const real_t tmp_qloop_60 = tmp_qloop_59*(radRayVertex + tmp_qloop_55*tmp_qloop_58);
-                const real_t tmp_qloop_61 = tmp_qloop_52*tmp_qloop_56;
-                const real_t tmp_qloop_62 = tmp_qloop_59*(radRayVertex + tmp_qloop_55*tmp_qloop_58);
-                const real_t tmp_qloop_63 = tmp_qloop_50*tmp_qloop_52;
-                const real_t tmp_qloop_64 = abs_det_jac_affine_BLUE*abs((tmp_qloop_13*tmp_qloop_57 - tmp_qloop_62*tmp_qloop_63)*(tmp_qloop_3*tmp_qloop_61 + tmp_qloop_60*tmp_qloop_63) - (tmp_qloop_13*tmp_qloop_61 + tmp_qloop_51*tmp_qloop_62)*(tmp_qloop_3*tmp_qloop_57 - tmp_qloop_53*tmp_qloop_60))*_data_q_w[q];
-                const real_t jac_blending_0_0 = tmp_qloop_2*tmp_qloop_22 + tmp_qloop_26*tmp_qloop_9;
-                const real_t jac_blending_0_1 = -tmp_qloop_2*tmp_qloop_23*tmp_qloop_24*tmp_qloop_8 - tmp_qloop_2*tmp_qloop_27;
-                const real_t jac_blending_1_0 = tmp_qloop_22*tmp_qloop_8 - tmp_qloop_28*tmp_qloop_8;
-                const real_t jac_blending_1_1 = tmp_qloop_23*tmp_qloop_24*tmp_qloop_5*1.0 - tmp_qloop_27*tmp_qloop_8;
-                const real_t tmp_qloop_29 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
-                const real_t tmp_qloop_30 = 1.0 / (tmp_qloop_29);
-                const real_t abs_det_jac_blending = tmp_qloop_29;
-                const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_30;
-                const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_30;
-                const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_30;
-                const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_30;
-                const real_t hessian_blending_0_0_0 = tmp_qloop_22 - tmp_qloop_33 + tmp_qloop_36;
-                const real_t hessian_blending_1_0_0 = -tmp_qloop_34*(tmp_qloop_8*tmp_qloop_8*tmp_qloop_8) + tmp_qloop_37*tmp_qloop_9 - tmp_qloop_39 + tmp_qloop_40*tmp_qloop_8;
-                const real_t hessian_blending_0_0_1 = tmp_qloop_19*tmp_qloop_23*tmp_qloop_38*tmp_qloop_4*-2.0 - tmp_qloop_42;
-                const real_t hessian_blending_1_0_1 = tmp_qloop_11*tmp_qloop_16*tmp_qloop_18*tmp_qloop_4*1.0 - tmp_qloop_28 - tmp_qloop_36 - tmp_qloop_43;
-                const real_t hessian_blending_0_1_0 = tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 - tmp_qloop_27 - tmp_qloop_39 - tmp_qloop_42;
-                const real_t hessian_blending_1_1_0 = -tmp_qloop_28 + tmp_qloop_35 - tmp_qloop_43 + tmp_qloop_44;
-                const real_t hessian_blending_0_1_1 = tmp_qloop_2*tmp_qloop_40 - (tmp_qloop_2*tmp_qloop_2*tmp_qloop_2)*tmp_qloop_34 + tmp_qloop_33 + tmp_qloop_44;
-                const real_t hessian_blending_1_1_1 = tmp_qloop_13*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 + tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_9*1.0 - tmp_qloop_27 - tmp_qloop_41;
-                const real_t q_tmp_0_0 = tmp_qloop_64*((tmp_qloop_45 + tmp_qloop_47 + tmp_qloop_49 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0)*(tmp_qloop_45 + tmp_qloop_47 + tmp_qloop_49 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0));
-                const real_t q_tmp_1_1 = tmp_qloop_64*((tmp_qloop_47 - _data_q_p_0[q])*(tmp_qloop_47 - _data_q_p_0[q]));
-                const real_t q_tmp_2_2 = tmp_qloop_64*((tmp_qloop_49 - _data_q_p_1[q])*(tmp_qloop_49 - _data_q_p_1[q]));
-                const real_t q_tmp_3_3 = tmp_qloop_46*tmp_qloop_48*tmp_qloop_64*16.0;
-                const real_t q_tmp_4_4 = tmp_qloop_64*((-tmp_qloop_45 + tmp_qloop_48*-4.0 + 4.0*_data_q_p_1[q])*(-tmp_qloop_45 + tmp_qloop_48*-4.0 + 4.0*_data_q_p_1[q]));
-                const real_t q_tmp_5_5 = tmp_qloop_64*((-tmp_qloop_45 + tmp_qloop_46*-4.0 + 4.0*_data_q_p_0[q])*(-tmp_qloop_45 + tmp_qloop_46*-4.0 + 4.0*_data_q_p_0[q]));
+                const real_t tmp_qloop_0 = 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_2 = (tmp_qloop_0*tmp_qloop_0);
+                const real_t tmp_qloop_3 = 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_4 = (tmp_qloop_3*tmp_qloop_3);
+                const real_t tmp_qloop_5 = tmp_qloop_2 + tmp_qloop_4;
+                const real_t tmp_qloop_6 = pow(tmp_qloop_5, -0.50000000000000000);
+                const real_t tmp_qloop_13 = tmp_qloop_12*tmp_qloop_6;
+                const real_t tmp_qloop_14 = tmp_qloop_1*tmp_qloop_13;
+                const real_t tmp_qloop_15 = pow(tmp_qloop_5, -1.5000000000000000);
+                const real_t tmp_qloop_16 = radRayVertex + tmp_qloop_11*(tmp_qloop_1*(-rayVertex_0 + tmp_qloop_0) - tmp_qloop_8*(-rayVertex_1 + tmp_qloop_3));
+                const real_t tmp_qloop_17 = tmp_qloop_15*tmp_qloop_16;
+                const real_t tmp_qloop_18 = tmp_qloop_17*1.0;
+                const real_t tmp_qloop_19 = tmp_qloop_13*tmp_qloop_8;
+                const real_t tmp_qloop_20 = tmp_qloop_0*tmp_qloop_18;
+                const real_t tmp_qloop_23 = tmp_qloop_12*tmp_qloop_15;
+                const real_t tmp_qloop_24 = tmp_qloop_1*tmp_qloop_23;
+                const real_t tmp_qloop_25 = tmp_qloop_2*tmp_qloop_24;
+                const real_t tmp_qloop_26 = tmp_qloop_16*pow(tmp_qloop_5, -2.5000000000000000)*3.0;
+                const real_t tmp_qloop_27 = tmp_qloop_0*tmp_qloop_26*tmp_qloop_4;
+                const real_t tmp_qloop_28 = tmp_qloop_24*tmp_qloop_4 - tmp_qloop_27;
+                const real_t tmp_qloop_29 = tmp_qloop_23*tmp_qloop_7;
+                const real_t tmp_qloop_30 = tmp_qloop_0*tmp_qloop_3;
+                const real_t tmp_qloop_31 = tmp_qloop_24*tmp_qloop_30;
+                const real_t tmp_qloop_32 = tmp_qloop_17*2.0;
+                const real_t tmp_qloop_33 = tmp_qloop_2*tmp_qloop_26*tmp_qloop_3;
+                const real_t tmp_qloop_34 = tmp_qloop_18*tmp_qloop_3 - tmp_qloop_33;
+                const real_t tmp_qloop_35 = tmp_qloop_29*tmp_qloop_30;
+                const real_t tmp_qloop_36 = tmp_qloop_23*tmp_qloop_30*tmp_qloop_8;
+                const real_t tmp_qloop_37 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                const real_t tmp_qloop_38 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_39 = tmp_qloop_38*2.0;
+                const real_t tmp_qloop_40 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_41 = tmp_qloop_40*2.0;
+                const real_t jac_blending_0_0 = tmp_qloop_0*tmp_qloop_14 + tmp_qloop_18*tmp_qloop_4;
+                const real_t jac_blending_0_1 = -tmp_qloop_0*tmp_qloop_15*tmp_qloop_16*tmp_qloop_3 - tmp_qloop_0*tmp_qloop_19;
+                const real_t jac_blending_1_0 = tmp_qloop_14*tmp_qloop_3 - tmp_qloop_20*tmp_qloop_3;
+                const real_t jac_blending_1_1 = tmp_qloop_15*tmp_qloop_16*tmp_qloop_2*1.0 - tmp_qloop_19*tmp_qloop_3;
+                const real_t tmp_qloop_21 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
+                const real_t tmp_qloop_22 = 1.0 / (tmp_qloop_21);
+                const real_t abs_det_jac_blending = tmp_qloop_21;
+                const real_t tmp_qloop_42 = abs_det_jac_affine_BLUE*abs_det_jac_blending*_data_q_w[q];
+                const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_22;
+                const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_22;
+                const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_22;
+                const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_22;
+                const real_t hessian_blending_0_0_0 = tmp_qloop_14 - tmp_qloop_25 + tmp_qloop_28;
+                const real_t hessian_blending_1_0_0 = -tmp_qloop_26*(tmp_qloop_3*tmp_qloop_3*tmp_qloop_3) + tmp_qloop_29*tmp_qloop_4 + tmp_qloop_3*tmp_qloop_32 - tmp_qloop_31;
+                const real_t hessian_blending_0_0_1 = tmp_qloop_1*tmp_qloop_11*tmp_qloop_15*tmp_qloop_30*-2.0 - tmp_qloop_34;
+                const real_t hessian_blending_1_0_1 = tmp_qloop_1*tmp_qloop_10*tmp_qloop_6*tmp_qloop_9*1.0 - tmp_qloop_20 - tmp_qloop_28 - tmp_qloop_35;
+                const real_t hessian_blending_0_1_0 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_31 - tmp_qloop_34;
+                const real_t hessian_blending_1_1_0 = -tmp_qloop_20 + tmp_qloop_27 - tmp_qloop_35 + tmp_qloop_36;
+                const real_t hessian_blending_0_1_1 = tmp_qloop_0*tmp_qloop_32 - (tmp_qloop_0*tmp_qloop_0*tmp_qloop_0)*tmp_qloop_26 + tmp_qloop_25 + tmp_qloop_36;
+                const real_t hessian_blending_1_1_1 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_7*tmp_qloop_9*1.0 + tmp_qloop_10*tmp_qloop_15*tmp_qloop_4*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_33;
+                const real_t q_tmp_0_0 = tmp_qloop_42*((tmp_qloop_37 + tmp_qloop_39 + tmp_qloop_41 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0)*(tmp_qloop_37 + tmp_qloop_39 + tmp_qloop_41 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0));
+                const real_t q_tmp_1_1 = tmp_qloop_42*((tmp_qloop_39 - _data_q_p_0[q])*(tmp_qloop_39 - _data_q_p_0[q]));
+                const real_t q_tmp_2_2 = tmp_qloop_42*((tmp_qloop_41 - _data_q_p_1[q])*(tmp_qloop_41 - _data_q_p_1[q]));
+                const real_t q_tmp_3_3 = tmp_qloop_38*tmp_qloop_40*tmp_qloop_42*16.0;
+                const real_t q_tmp_4_4 = tmp_qloop_42*((-tmp_qloop_37 + tmp_qloop_40*-4.0 + 4.0*_data_q_p_1[q])*(-tmp_qloop_37 + tmp_qloop_40*-4.0 + 4.0*_data_q_p_1[q]));
+                const real_t q_tmp_5_5 = tmp_qloop_42*((-tmp_qloop_37 + tmp_qloop_38*-4.0 + 4.0*_data_q_p_0[q])*(-tmp_qloop_37 + tmp_qloop_38*-4.0 + 4.0*_data_q_p_0[q]));
                 q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
                 q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
                 q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
diff --git a/operators/mass/noarch/P2ElementwiseMassAnnulusMap_toMatrix_P2ElementwiseMassAnnulusMap_macro_2D.cpp b/operators/mass/noarch/P2ElementwiseMassAnnulusMap_toMatrix_P2ElementwiseMassAnnulusMap_macro_2D.cpp
index a44577fcb3edef20c4dd7e40988ff852b9e364d0..0f3531ff3903a787bab2378a36c14395e110167a 100644
--- a/operators/mass/noarch/P2ElementwiseMassAnnulusMap_toMatrix_P2ElementwiseMassAnnulusMap_macro_2D.cpp
+++ b/operators/mass/noarch/P2ElementwiseMassAnnulusMap_toMatrix_P2ElementwiseMassAnnulusMap_macro_2D.cpp
@@ -83,18 +83,13 @@ void P2ElementwiseMassAnnulusMap::toMatrix_P2ElementwiseMassAnnulusMap_macro_2D(
        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_3 = rayVertex_1 - thrVertex_1;
-       const real_t tmp_qloop_4 = -tmp_qloop_3;
-       const real_t tmp_qloop_12 = rayVertex_0 - refVertex_0;
-       const real_t tmp_qloop_13 = rayVertex_0 - thrVertex_0;
-       const real_t tmp_qloop_14 = -tmp_qloop_13;
-       const real_t tmp_qloop_15 = rayVertex_1 - refVertex_1;
-       const real_t tmp_qloop_16 = 1.0 / (-tmp_qloop_12*tmp_qloop_4 + tmp_qloop_14*tmp_qloop_15);
-       const real_t tmp_qloop_17 = radRayVertex - radRefVertex;
-       const real_t tmp_qloop_18 = -tmp_qloop_17;
-       const real_t tmp_qloop_19 = tmp_qloop_16*tmp_qloop_18;
-       const real_t tmp_qloop_20 = tmp_qloop_19*1.0;
-       const real_t tmp_qloop_56 = tmp_qloop_17*1.0 / (tmp_qloop_12*tmp_qloop_3 - tmp_qloop_13*tmp_qloop_15);
+       const real_t tmp_qloop_1 = -rayVertex_1 + thrVertex_1;
+       const real_t tmp_qloop_7 = rayVertex_0 - thrVertex_0;
+       const real_t tmp_qloop_8 = -tmp_qloop_7;
+       const real_t tmp_qloop_9 = 1.0 / (tmp_qloop_1*(-rayVertex_0 + refVertex_0) - tmp_qloop_8*(-rayVertex_1 + refVertex_1));
+       const real_t tmp_qloop_10 = -radRayVertex + radRefVertex;
+       const real_t tmp_qloop_11 = tmp_qloop_10*tmp_qloop_9;
+       const real_t tmp_qloop_12 = tmp_qloop_11*1.0;
        {
           /* FaceType.GRAY */
           for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1)
@@ -140,108 +135,91 @@ void P2ElementwiseMassAnnulusMap::toMatrix_P2ElementwiseMassAnnulusMap_macro_2D(
              real_t q_acc_4_4 = 0.0;
              real_t q_acc_4_5 = 0.0;
              real_t q_acc_5_5 = 0.0;
-             const real_t tmp_qloop_0 = p_affine_0_0 - p_affine_1_0;
-             const real_t tmp_qloop_1 = p_affine_0_0 - p_affine_2_0;
-             const real_t tmp_qloop_6 = p_affine_0_1 - p_affine_1_1;
-             const real_t tmp_qloop_7 = p_affine_0_1 - p_affine_2_1;
              for (int64_t q = 0; q < 6; q += 1)
              {
-                const real_t tmp_qloop_2 = p_affine_0_0 - tmp_qloop_0*_data_q_p_0[q] - tmp_qloop_1*_data_q_p_1[q];
-                const real_t tmp_qloop_5 = (tmp_qloop_2*tmp_qloop_2);
-                const real_t tmp_qloop_8 = p_affine_0_1 - tmp_qloop_6*_data_q_p_0[q] - tmp_qloop_7*_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_5 + tmp_qloop_9;
-                const real_t tmp_qloop_11 = pow(tmp_qloop_10, -0.50000000000000000);
-                const real_t tmp_qloop_21 = tmp_qloop_11*tmp_qloop_20;
-                const real_t tmp_qloop_22 = tmp_qloop_21*tmp_qloop_4;
-                const real_t tmp_qloop_23 = pow(tmp_qloop_10, -1.5000000000000000);
-                const real_t tmp_qloop_24 = radRayVertex + tmp_qloop_19*(-tmp_qloop_14*(-rayVertex_1 + tmp_qloop_8) + tmp_qloop_4*(-rayVertex_0 + tmp_qloop_2));
-                const real_t tmp_qloop_25 = tmp_qloop_23*tmp_qloop_24;
-                const real_t tmp_qloop_26 = tmp_qloop_25*1.0;
-                const real_t tmp_qloop_27 = tmp_qloop_14*tmp_qloop_21;
-                const real_t tmp_qloop_28 = tmp_qloop_2*tmp_qloop_26;
-                const real_t tmp_qloop_31 = tmp_qloop_20*tmp_qloop_23;
-                const real_t tmp_qloop_32 = tmp_qloop_31*tmp_qloop_4;
-                const real_t tmp_qloop_33 = tmp_qloop_32*tmp_qloop_5;
-                const real_t tmp_qloop_34 = pow(tmp_qloop_10, -2.5000000000000000)*tmp_qloop_24*3.0;
-                const real_t tmp_qloop_35 = tmp_qloop_2*tmp_qloop_34*tmp_qloop_9;
-                const real_t tmp_qloop_36 = tmp_qloop_32*tmp_qloop_9 - tmp_qloop_35;
-                const real_t tmp_qloop_37 = tmp_qloop_13*tmp_qloop_31;
-                const real_t tmp_qloop_38 = tmp_qloop_2*tmp_qloop_8;
-                const real_t tmp_qloop_39 = tmp_qloop_32*tmp_qloop_38;
-                const real_t tmp_qloop_40 = tmp_qloop_25*2.0;
-                const real_t tmp_qloop_41 = tmp_qloop_34*tmp_qloop_5*tmp_qloop_8;
-                const real_t tmp_qloop_42 = tmp_qloop_26*tmp_qloop_8 - tmp_qloop_41;
-                const real_t tmp_qloop_43 = tmp_qloop_37*tmp_qloop_38;
-                const real_t tmp_qloop_44 = tmp_qloop_14*tmp_qloop_31*tmp_qloop_38;
-                const real_t tmp_qloop_45 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
-                const real_t tmp_qloop_46 = (_data_q_p_0[q]*_data_q_p_0[q]);
-                const real_t tmp_qloop_47 = tmp_qloop_46*2.0;
-                const real_t tmp_qloop_48 = (_data_q_p_1[q]*_data_q_p_1[q]);
-                const real_t tmp_qloop_49 = tmp_qloop_48*2.0;
-                const real_t tmp_qloop_50 = tmp_qloop_45 + tmp_qloop_47 + tmp_qloop_49 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0;
-                const real_t tmp_qloop_51 = -p_affine_0_0 + tmp_qloop_0*_data_q_p_0[q] + tmp_qloop_1*_data_q_p_1[q];
-                const real_t tmp_qloop_52 = (tmp_qloop_51*tmp_qloop_51);
-                const real_t tmp_qloop_53 = -p_affine_0_1 + tmp_qloop_6*_data_q_p_0[q] + tmp_qloop_7*_data_q_p_1[q];
-                const real_t tmp_qloop_54 = (tmp_qloop_53*tmp_qloop_53);
-                const real_t tmp_qloop_55 = tmp_qloop_52 + tmp_qloop_54;
-                const real_t tmp_qloop_57 = pow(tmp_qloop_55, -0.50000000000000000)*tmp_qloop_56*1.0;
-                const real_t tmp_qloop_58 = tmp_qloop_51*tmp_qloop_57;
-                const real_t tmp_qloop_59 = tmp_qloop_13*(rayVertex_1 + tmp_qloop_53) - tmp_qloop_3*(rayVertex_0 + tmp_qloop_51);
-                const real_t tmp_qloop_60 = pow(tmp_qloop_55, -1.5000000000000000)*1.0;
-                const real_t tmp_qloop_61 = tmp_qloop_60*(radRayVertex + tmp_qloop_56*tmp_qloop_59);
-                const real_t tmp_qloop_62 = tmp_qloop_53*tmp_qloop_57;
-                const real_t tmp_qloop_63 = tmp_qloop_60*(radRayVertex + tmp_qloop_56*tmp_qloop_59);
-                const real_t tmp_qloop_64 = tmp_qloop_51*tmp_qloop_53;
-                const real_t tmp_qloop_65 = abs_det_jac_affine_GRAY*abs((tmp_qloop_13*tmp_qloop_58 - tmp_qloop_63*tmp_qloop_64)*(tmp_qloop_3*tmp_qloop_62 + tmp_qloop_61*tmp_qloop_64) - (tmp_qloop_13*tmp_qloop_62 + tmp_qloop_52*tmp_qloop_63)*(tmp_qloop_3*tmp_qloop_58 - tmp_qloop_54*tmp_qloop_61))*_data_q_w[q];
-                const real_t tmp_qloop_66 = tmp_qloop_47 - _data_q_p_0[q];
-                const real_t tmp_qloop_67 = tmp_qloop_50*tmp_qloop_65;
-                const real_t tmp_qloop_68 = tmp_qloop_49 - _data_q_p_1[q];
-                const real_t tmp_qloop_69 = -tmp_qloop_45 + tmp_qloop_48*-4.0 + 4.0*_data_q_p_1[q];
-                const real_t tmp_qloop_70 = -tmp_qloop_45 + tmp_qloop_46*-4.0 + 4.0*_data_q_p_0[q];
-                const real_t tmp_qloop_71 = tmp_qloop_65*tmp_qloop_66;
-                const real_t tmp_qloop_72 = tmp_qloop_65*tmp_qloop_68;
-                const real_t tmp_qloop_73 = tmp_qloop_65*tmp_qloop_69;
-                const real_t jac_blending_0_0 = tmp_qloop_2*tmp_qloop_22 + tmp_qloop_26*tmp_qloop_9;
-                const real_t jac_blending_0_1 = -tmp_qloop_2*tmp_qloop_23*tmp_qloop_24*tmp_qloop_8 - tmp_qloop_2*tmp_qloop_27;
-                const real_t jac_blending_1_0 = tmp_qloop_22*tmp_qloop_8 - tmp_qloop_28*tmp_qloop_8;
-                const real_t jac_blending_1_1 = tmp_qloop_23*tmp_qloop_24*tmp_qloop_5*1.0 - tmp_qloop_27*tmp_qloop_8;
-                const real_t tmp_qloop_29 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
-                const real_t tmp_qloop_30 = 1.0 / (tmp_qloop_29);
-                const real_t abs_det_jac_blending = tmp_qloop_29;
-                const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_30;
-                const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_30;
-                const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_30;
-                const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_30;
-                const real_t hessian_blending_0_0_0 = tmp_qloop_22 - tmp_qloop_33 + tmp_qloop_36;
-                const real_t hessian_blending_1_0_0 = -tmp_qloop_34*(tmp_qloop_8*tmp_qloop_8*tmp_qloop_8) + tmp_qloop_37*tmp_qloop_9 - tmp_qloop_39 + tmp_qloop_40*tmp_qloop_8;
-                const real_t hessian_blending_0_0_1 = tmp_qloop_19*tmp_qloop_23*tmp_qloop_38*tmp_qloop_4*-2.0 - tmp_qloop_42;
-                const real_t hessian_blending_1_0_1 = tmp_qloop_11*tmp_qloop_16*tmp_qloop_18*tmp_qloop_4*1.0 - tmp_qloop_28 - tmp_qloop_36 - tmp_qloop_43;
-                const real_t hessian_blending_0_1_0 = tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 - tmp_qloop_27 - tmp_qloop_39 - tmp_qloop_42;
-                const real_t hessian_blending_1_1_0 = -tmp_qloop_28 + tmp_qloop_35 - tmp_qloop_43 + tmp_qloop_44;
-                const real_t hessian_blending_0_1_1 = tmp_qloop_2*tmp_qloop_40 - (tmp_qloop_2*tmp_qloop_2*tmp_qloop_2)*tmp_qloop_34 + tmp_qloop_33 + tmp_qloop_44;
-                const real_t hessian_blending_1_1_1 = tmp_qloop_13*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 + tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_9*1.0 - tmp_qloop_27 - tmp_qloop_41;
-                const real_t q_tmp_0_0 = (tmp_qloop_50*tmp_qloop_50)*tmp_qloop_65;
-                const real_t q_tmp_0_1 = tmp_qloop_66*tmp_qloop_67;
-                const real_t q_tmp_0_2 = tmp_qloop_67*tmp_qloop_68;
-                const real_t q_tmp_0_3 = tmp_qloop_45*tmp_qloop_67;
-                const real_t q_tmp_0_4 = tmp_qloop_67*tmp_qloop_69;
-                const real_t q_tmp_0_5 = tmp_qloop_67*tmp_qloop_70;
-                const real_t q_tmp_1_1 = tmp_qloop_65*(tmp_qloop_66*tmp_qloop_66);
-                const real_t q_tmp_1_2 = tmp_qloop_68*tmp_qloop_71;
-                const real_t q_tmp_1_3 = tmp_qloop_45*tmp_qloop_71;
-                const real_t q_tmp_1_4 = tmp_qloop_69*tmp_qloop_71;
-                const real_t q_tmp_1_5 = tmp_qloop_70*tmp_qloop_71;
-                const real_t q_tmp_2_2 = tmp_qloop_65*(tmp_qloop_68*tmp_qloop_68);
-                const real_t q_tmp_2_3 = tmp_qloop_45*tmp_qloop_72;
-                const real_t q_tmp_2_4 = tmp_qloop_69*tmp_qloop_72;
-                const real_t q_tmp_2_5 = tmp_qloop_70*tmp_qloop_72;
-                const real_t q_tmp_3_3 = tmp_qloop_46*tmp_qloop_48*tmp_qloop_65*16.0;
-                const real_t q_tmp_3_4 = tmp_qloop_45*tmp_qloop_73;
-                const real_t q_tmp_3_5 = tmp_qloop_45*tmp_qloop_65*tmp_qloop_70;
-                const real_t q_tmp_4_4 = tmp_qloop_65*(tmp_qloop_69*tmp_qloop_69);
-                const real_t q_tmp_4_5 = tmp_qloop_70*tmp_qloop_73;
-                const real_t q_tmp_5_5 = tmp_qloop_65*(tmp_qloop_70*tmp_qloop_70);
+                const real_t tmp_qloop_0 = 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_2 = (tmp_qloop_0*tmp_qloop_0);
+                const real_t tmp_qloop_3 = 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_4 = (tmp_qloop_3*tmp_qloop_3);
+                const real_t tmp_qloop_5 = tmp_qloop_2 + tmp_qloop_4;
+                const real_t tmp_qloop_6 = pow(tmp_qloop_5, -0.50000000000000000);
+                const real_t tmp_qloop_13 = tmp_qloop_12*tmp_qloop_6;
+                const real_t tmp_qloop_14 = tmp_qloop_1*tmp_qloop_13;
+                const real_t tmp_qloop_15 = pow(tmp_qloop_5, -1.5000000000000000);
+                const real_t tmp_qloop_16 = radRayVertex + tmp_qloop_11*(tmp_qloop_1*(-rayVertex_0 + tmp_qloop_0) - tmp_qloop_8*(-rayVertex_1 + tmp_qloop_3));
+                const real_t tmp_qloop_17 = tmp_qloop_15*tmp_qloop_16;
+                const real_t tmp_qloop_18 = tmp_qloop_17*1.0;
+                const real_t tmp_qloop_19 = tmp_qloop_13*tmp_qloop_8;
+                const real_t tmp_qloop_20 = tmp_qloop_0*tmp_qloop_18;
+                const real_t tmp_qloop_23 = tmp_qloop_12*tmp_qloop_15;
+                const real_t tmp_qloop_24 = tmp_qloop_1*tmp_qloop_23;
+                const real_t tmp_qloop_25 = tmp_qloop_2*tmp_qloop_24;
+                const real_t tmp_qloop_26 = tmp_qloop_16*pow(tmp_qloop_5, -2.5000000000000000)*3.0;
+                const real_t tmp_qloop_27 = tmp_qloop_0*tmp_qloop_26*tmp_qloop_4;
+                const real_t tmp_qloop_28 = tmp_qloop_24*tmp_qloop_4 - tmp_qloop_27;
+                const real_t tmp_qloop_29 = tmp_qloop_23*tmp_qloop_7;
+                const real_t tmp_qloop_30 = tmp_qloop_0*tmp_qloop_3;
+                const real_t tmp_qloop_31 = tmp_qloop_24*tmp_qloop_30;
+                const real_t tmp_qloop_32 = tmp_qloop_17*2.0;
+                const real_t tmp_qloop_33 = tmp_qloop_2*tmp_qloop_26*tmp_qloop_3;
+                const real_t tmp_qloop_34 = tmp_qloop_18*tmp_qloop_3 - tmp_qloop_33;
+                const real_t tmp_qloop_35 = tmp_qloop_29*tmp_qloop_30;
+                const real_t tmp_qloop_36 = tmp_qloop_23*tmp_qloop_30*tmp_qloop_8;
+                const real_t tmp_qloop_37 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                const real_t tmp_qloop_38 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_39 = tmp_qloop_38*2.0;
+                const real_t tmp_qloop_40 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_41 = tmp_qloop_40*2.0;
+                const real_t tmp_qloop_42 = tmp_qloop_37 + tmp_qloop_39 + tmp_qloop_41 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0;
+                const real_t tmp_qloop_44 = tmp_qloop_39 - _data_q_p_0[q];
+                const real_t tmp_qloop_46 = tmp_qloop_41 - _data_q_p_1[q];
+                const real_t tmp_qloop_47 = -tmp_qloop_37 + tmp_qloop_40*-4.0 + 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_48 = -tmp_qloop_37 + tmp_qloop_38*-4.0 + 4.0*_data_q_p_0[q];
+                const real_t jac_blending_0_0 = tmp_qloop_0*tmp_qloop_14 + tmp_qloop_18*tmp_qloop_4;
+                const real_t jac_blending_0_1 = -tmp_qloop_0*tmp_qloop_15*tmp_qloop_16*tmp_qloop_3 - tmp_qloop_0*tmp_qloop_19;
+                const real_t jac_blending_1_0 = tmp_qloop_14*tmp_qloop_3 - tmp_qloop_20*tmp_qloop_3;
+                const real_t jac_blending_1_1 = tmp_qloop_15*tmp_qloop_16*tmp_qloop_2*1.0 - tmp_qloop_19*tmp_qloop_3;
+                const real_t tmp_qloop_21 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
+                const real_t tmp_qloop_22 = 1.0 / (tmp_qloop_21);
+                const real_t abs_det_jac_blending = tmp_qloop_21;
+                const real_t tmp_qloop_43 = abs_det_jac_affine_GRAY*abs_det_jac_blending*_data_q_w[q];
+                const real_t tmp_qloop_45 = tmp_qloop_42*tmp_qloop_43;
+                const real_t tmp_qloop_49 = tmp_qloop_43*tmp_qloop_44;
+                const real_t tmp_qloop_50 = tmp_qloop_43*tmp_qloop_46;
+                const real_t tmp_qloop_51 = tmp_qloop_43*tmp_qloop_47;
+                const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_22;
+                const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_22;
+                const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_22;
+                const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_22;
+                const real_t hessian_blending_0_0_0 = tmp_qloop_14 - tmp_qloop_25 + tmp_qloop_28;
+                const real_t hessian_blending_1_0_0 = -tmp_qloop_26*(tmp_qloop_3*tmp_qloop_3*tmp_qloop_3) + tmp_qloop_29*tmp_qloop_4 + tmp_qloop_3*tmp_qloop_32 - tmp_qloop_31;
+                const real_t hessian_blending_0_0_1 = tmp_qloop_1*tmp_qloop_11*tmp_qloop_15*tmp_qloop_30*-2.0 - tmp_qloop_34;
+                const real_t hessian_blending_1_0_1 = tmp_qloop_1*tmp_qloop_10*tmp_qloop_6*tmp_qloop_9*1.0 - tmp_qloop_20 - tmp_qloop_28 - tmp_qloop_35;
+                const real_t hessian_blending_0_1_0 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_31 - tmp_qloop_34;
+                const real_t hessian_blending_1_1_0 = -tmp_qloop_20 + tmp_qloop_27 - tmp_qloop_35 + tmp_qloop_36;
+                const real_t hessian_blending_0_1_1 = tmp_qloop_0*tmp_qloop_32 - (tmp_qloop_0*tmp_qloop_0*tmp_qloop_0)*tmp_qloop_26 + tmp_qloop_25 + tmp_qloop_36;
+                const real_t hessian_blending_1_1_1 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_7*tmp_qloop_9*1.0 + tmp_qloop_10*tmp_qloop_15*tmp_qloop_4*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_33;
+                const real_t q_tmp_0_0 = (tmp_qloop_42*tmp_qloop_42)*tmp_qloop_43;
+                const real_t q_tmp_0_1 = tmp_qloop_44*tmp_qloop_45;
+                const real_t q_tmp_0_2 = tmp_qloop_45*tmp_qloop_46;
+                const real_t q_tmp_0_3 = tmp_qloop_37*tmp_qloop_45;
+                const real_t q_tmp_0_4 = tmp_qloop_45*tmp_qloop_47;
+                const real_t q_tmp_0_5 = tmp_qloop_45*tmp_qloop_48;
+                const real_t q_tmp_1_1 = tmp_qloop_43*(tmp_qloop_44*tmp_qloop_44);
+                const real_t q_tmp_1_2 = tmp_qloop_46*tmp_qloop_49;
+                const real_t q_tmp_1_3 = tmp_qloop_37*tmp_qloop_49;
+                const real_t q_tmp_1_4 = tmp_qloop_47*tmp_qloop_49;
+                const real_t q_tmp_1_5 = tmp_qloop_48*tmp_qloop_49;
+                const real_t q_tmp_2_2 = tmp_qloop_43*(tmp_qloop_46*tmp_qloop_46);
+                const real_t q_tmp_2_3 = tmp_qloop_37*tmp_qloop_50;
+                const real_t q_tmp_2_4 = tmp_qloop_47*tmp_qloop_50;
+                const real_t q_tmp_2_5 = tmp_qloop_48*tmp_qloop_50;
+                const real_t q_tmp_3_3 = tmp_qloop_38*tmp_qloop_40*tmp_qloop_43*16.0;
+                const real_t q_tmp_3_4 = tmp_qloop_37*tmp_qloop_51;
+                const real_t q_tmp_3_5 = tmp_qloop_37*tmp_qloop_43*tmp_qloop_48;
+                const real_t q_tmp_4_4 = tmp_qloop_43*(tmp_qloop_47*tmp_qloop_47);
+                const real_t q_tmp_4_5 = tmp_qloop_48*tmp_qloop_51;
+                const real_t q_tmp_5_5 = tmp_qloop_43*(tmp_qloop_48*tmp_qloop_48);
                 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;
@@ -424,108 +402,91 @@ void P2ElementwiseMassAnnulusMap::toMatrix_P2ElementwiseMassAnnulusMap_macro_2D(
              real_t q_acc_4_4 = 0.0;
              real_t q_acc_4_5 = 0.0;
              real_t q_acc_5_5 = 0.0;
-             const real_t tmp_qloop_0 = p_affine_0_0 - p_affine_1_0;
-             const real_t tmp_qloop_1 = p_affine_0_0 - p_affine_2_0;
-             const real_t tmp_qloop_6 = p_affine_0_1 - p_affine_1_1;
-             const real_t tmp_qloop_7 = p_affine_0_1 - p_affine_2_1;
              for (int64_t q = 0; q < 6; q += 1)
              {
-                const real_t tmp_qloop_2 = p_affine_0_0 - tmp_qloop_0*_data_q_p_0[q] - tmp_qloop_1*_data_q_p_1[q];
-                const real_t tmp_qloop_5 = (tmp_qloop_2*tmp_qloop_2);
-                const real_t tmp_qloop_8 = p_affine_0_1 - tmp_qloop_6*_data_q_p_0[q] - tmp_qloop_7*_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_5 + tmp_qloop_9;
-                const real_t tmp_qloop_11 = pow(tmp_qloop_10, -0.50000000000000000);
-                const real_t tmp_qloop_21 = tmp_qloop_11*tmp_qloop_20;
-                const real_t tmp_qloop_22 = tmp_qloop_21*tmp_qloop_4;
-                const real_t tmp_qloop_23 = pow(tmp_qloop_10, -1.5000000000000000);
-                const real_t tmp_qloop_24 = radRayVertex + tmp_qloop_19*(-tmp_qloop_14*(-rayVertex_1 + tmp_qloop_8) + tmp_qloop_4*(-rayVertex_0 + tmp_qloop_2));
-                const real_t tmp_qloop_25 = tmp_qloop_23*tmp_qloop_24;
-                const real_t tmp_qloop_26 = tmp_qloop_25*1.0;
-                const real_t tmp_qloop_27 = tmp_qloop_14*tmp_qloop_21;
-                const real_t tmp_qloop_28 = tmp_qloop_2*tmp_qloop_26;
-                const real_t tmp_qloop_31 = tmp_qloop_20*tmp_qloop_23;
-                const real_t tmp_qloop_32 = tmp_qloop_31*tmp_qloop_4;
-                const real_t tmp_qloop_33 = tmp_qloop_32*tmp_qloop_5;
-                const real_t tmp_qloop_34 = pow(tmp_qloop_10, -2.5000000000000000)*tmp_qloop_24*3.0;
-                const real_t tmp_qloop_35 = tmp_qloop_2*tmp_qloop_34*tmp_qloop_9;
-                const real_t tmp_qloop_36 = tmp_qloop_32*tmp_qloop_9 - tmp_qloop_35;
-                const real_t tmp_qloop_37 = tmp_qloop_13*tmp_qloop_31;
-                const real_t tmp_qloop_38 = tmp_qloop_2*tmp_qloop_8;
-                const real_t tmp_qloop_39 = tmp_qloop_32*tmp_qloop_38;
-                const real_t tmp_qloop_40 = tmp_qloop_25*2.0;
-                const real_t tmp_qloop_41 = tmp_qloop_34*tmp_qloop_5*tmp_qloop_8;
-                const real_t tmp_qloop_42 = tmp_qloop_26*tmp_qloop_8 - tmp_qloop_41;
-                const real_t tmp_qloop_43 = tmp_qloop_37*tmp_qloop_38;
-                const real_t tmp_qloop_44 = tmp_qloop_14*tmp_qloop_31*tmp_qloop_38;
-                const real_t tmp_qloop_45 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
-                const real_t tmp_qloop_46 = (_data_q_p_0[q]*_data_q_p_0[q]);
-                const real_t tmp_qloop_47 = tmp_qloop_46*2.0;
-                const real_t tmp_qloop_48 = (_data_q_p_1[q]*_data_q_p_1[q]);
-                const real_t tmp_qloop_49 = tmp_qloop_48*2.0;
-                const real_t tmp_qloop_50 = tmp_qloop_45 + tmp_qloop_47 + tmp_qloop_49 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0;
-                const real_t tmp_qloop_51 = -p_affine_0_0 + tmp_qloop_0*_data_q_p_0[q] + tmp_qloop_1*_data_q_p_1[q];
-                const real_t tmp_qloop_52 = (tmp_qloop_51*tmp_qloop_51);
-                const real_t tmp_qloop_53 = -p_affine_0_1 + tmp_qloop_6*_data_q_p_0[q] + tmp_qloop_7*_data_q_p_1[q];
-                const real_t tmp_qloop_54 = (tmp_qloop_53*tmp_qloop_53);
-                const real_t tmp_qloop_55 = tmp_qloop_52 + tmp_qloop_54;
-                const real_t tmp_qloop_57 = pow(tmp_qloop_55, -0.50000000000000000)*tmp_qloop_56*1.0;
-                const real_t tmp_qloop_58 = tmp_qloop_51*tmp_qloop_57;
-                const real_t tmp_qloop_59 = tmp_qloop_13*(rayVertex_1 + tmp_qloop_53) - tmp_qloop_3*(rayVertex_0 + tmp_qloop_51);
-                const real_t tmp_qloop_60 = pow(tmp_qloop_55, -1.5000000000000000)*1.0;
-                const real_t tmp_qloop_61 = tmp_qloop_60*(radRayVertex + tmp_qloop_56*tmp_qloop_59);
-                const real_t tmp_qloop_62 = tmp_qloop_53*tmp_qloop_57;
-                const real_t tmp_qloop_63 = tmp_qloop_60*(radRayVertex + tmp_qloop_56*tmp_qloop_59);
-                const real_t tmp_qloop_64 = tmp_qloop_51*tmp_qloop_53;
-                const real_t tmp_qloop_65 = abs_det_jac_affine_BLUE*abs((tmp_qloop_13*tmp_qloop_58 - tmp_qloop_63*tmp_qloop_64)*(tmp_qloop_3*tmp_qloop_62 + tmp_qloop_61*tmp_qloop_64) - (tmp_qloop_13*tmp_qloop_62 + tmp_qloop_52*tmp_qloop_63)*(tmp_qloop_3*tmp_qloop_58 - tmp_qloop_54*tmp_qloop_61))*_data_q_w[q];
-                const real_t tmp_qloop_66 = tmp_qloop_47 - _data_q_p_0[q];
-                const real_t tmp_qloop_67 = tmp_qloop_50*tmp_qloop_65;
-                const real_t tmp_qloop_68 = tmp_qloop_49 - _data_q_p_1[q];
-                const real_t tmp_qloop_69 = -tmp_qloop_45 + tmp_qloop_48*-4.0 + 4.0*_data_q_p_1[q];
-                const real_t tmp_qloop_70 = -tmp_qloop_45 + tmp_qloop_46*-4.0 + 4.0*_data_q_p_0[q];
-                const real_t tmp_qloop_71 = tmp_qloop_65*tmp_qloop_66;
-                const real_t tmp_qloop_72 = tmp_qloop_65*tmp_qloop_68;
-                const real_t tmp_qloop_73 = tmp_qloop_65*tmp_qloop_69;
-                const real_t jac_blending_0_0 = tmp_qloop_2*tmp_qloop_22 + tmp_qloop_26*tmp_qloop_9;
-                const real_t jac_blending_0_1 = -tmp_qloop_2*tmp_qloop_23*tmp_qloop_24*tmp_qloop_8 - tmp_qloop_2*tmp_qloop_27;
-                const real_t jac_blending_1_0 = tmp_qloop_22*tmp_qloop_8 - tmp_qloop_28*tmp_qloop_8;
-                const real_t jac_blending_1_1 = tmp_qloop_23*tmp_qloop_24*tmp_qloop_5*1.0 - tmp_qloop_27*tmp_qloop_8;
-                const real_t tmp_qloop_29 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
-                const real_t tmp_qloop_30 = 1.0 / (tmp_qloop_29);
-                const real_t abs_det_jac_blending = tmp_qloop_29;
-                const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_30;
-                const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_30;
-                const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_30;
-                const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_30;
-                const real_t hessian_blending_0_0_0 = tmp_qloop_22 - tmp_qloop_33 + tmp_qloop_36;
-                const real_t hessian_blending_1_0_0 = -tmp_qloop_34*(tmp_qloop_8*tmp_qloop_8*tmp_qloop_8) + tmp_qloop_37*tmp_qloop_9 - tmp_qloop_39 + tmp_qloop_40*tmp_qloop_8;
-                const real_t hessian_blending_0_0_1 = tmp_qloop_19*tmp_qloop_23*tmp_qloop_38*tmp_qloop_4*-2.0 - tmp_qloop_42;
-                const real_t hessian_blending_1_0_1 = tmp_qloop_11*tmp_qloop_16*tmp_qloop_18*tmp_qloop_4*1.0 - tmp_qloop_28 - tmp_qloop_36 - tmp_qloop_43;
-                const real_t hessian_blending_0_1_0 = tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 - tmp_qloop_27 - tmp_qloop_39 - tmp_qloop_42;
-                const real_t hessian_blending_1_1_0 = -tmp_qloop_28 + tmp_qloop_35 - tmp_qloop_43 + tmp_qloop_44;
-                const real_t hessian_blending_0_1_1 = tmp_qloop_2*tmp_qloop_40 - (tmp_qloop_2*tmp_qloop_2*tmp_qloop_2)*tmp_qloop_34 + tmp_qloop_33 + tmp_qloop_44;
-                const real_t hessian_blending_1_1_1 = tmp_qloop_13*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_5*1.0 + tmp_qloop_14*tmp_qloop_16*tmp_qloop_18*tmp_qloop_23*tmp_qloop_9*1.0 - tmp_qloop_27 - tmp_qloop_41;
-                const real_t q_tmp_0_0 = (tmp_qloop_50*tmp_qloop_50)*tmp_qloop_65;
-                const real_t q_tmp_0_1 = tmp_qloop_66*tmp_qloop_67;
-                const real_t q_tmp_0_2 = tmp_qloop_67*tmp_qloop_68;
-                const real_t q_tmp_0_3 = tmp_qloop_45*tmp_qloop_67;
-                const real_t q_tmp_0_4 = tmp_qloop_67*tmp_qloop_69;
-                const real_t q_tmp_0_5 = tmp_qloop_67*tmp_qloop_70;
-                const real_t q_tmp_1_1 = tmp_qloop_65*(tmp_qloop_66*tmp_qloop_66);
-                const real_t q_tmp_1_2 = tmp_qloop_68*tmp_qloop_71;
-                const real_t q_tmp_1_3 = tmp_qloop_45*tmp_qloop_71;
-                const real_t q_tmp_1_4 = tmp_qloop_69*tmp_qloop_71;
-                const real_t q_tmp_1_5 = tmp_qloop_70*tmp_qloop_71;
-                const real_t q_tmp_2_2 = tmp_qloop_65*(tmp_qloop_68*tmp_qloop_68);
-                const real_t q_tmp_2_3 = tmp_qloop_45*tmp_qloop_72;
-                const real_t q_tmp_2_4 = tmp_qloop_69*tmp_qloop_72;
-                const real_t q_tmp_2_5 = tmp_qloop_70*tmp_qloop_72;
-                const real_t q_tmp_3_3 = tmp_qloop_46*tmp_qloop_48*tmp_qloop_65*16.0;
-                const real_t q_tmp_3_4 = tmp_qloop_45*tmp_qloop_73;
-                const real_t q_tmp_3_5 = tmp_qloop_45*tmp_qloop_65*tmp_qloop_70;
-                const real_t q_tmp_4_4 = tmp_qloop_65*(tmp_qloop_69*tmp_qloop_69);
-                const real_t q_tmp_4_5 = tmp_qloop_70*tmp_qloop_73;
-                const real_t q_tmp_5_5 = tmp_qloop_65*(tmp_qloop_70*tmp_qloop_70);
+                const real_t tmp_qloop_0 = 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_2 = (tmp_qloop_0*tmp_qloop_0);
+                const real_t tmp_qloop_3 = 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_4 = (tmp_qloop_3*tmp_qloop_3);
+                const real_t tmp_qloop_5 = tmp_qloop_2 + tmp_qloop_4;
+                const real_t tmp_qloop_6 = pow(tmp_qloop_5, -0.50000000000000000);
+                const real_t tmp_qloop_13 = tmp_qloop_12*tmp_qloop_6;
+                const real_t tmp_qloop_14 = tmp_qloop_1*tmp_qloop_13;
+                const real_t tmp_qloop_15 = pow(tmp_qloop_5, -1.5000000000000000);
+                const real_t tmp_qloop_16 = radRayVertex + tmp_qloop_11*(tmp_qloop_1*(-rayVertex_0 + tmp_qloop_0) - tmp_qloop_8*(-rayVertex_1 + tmp_qloop_3));
+                const real_t tmp_qloop_17 = tmp_qloop_15*tmp_qloop_16;
+                const real_t tmp_qloop_18 = tmp_qloop_17*1.0;
+                const real_t tmp_qloop_19 = tmp_qloop_13*tmp_qloop_8;
+                const real_t tmp_qloop_20 = tmp_qloop_0*tmp_qloop_18;
+                const real_t tmp_qloop_23 = tmp_qloop_12*tmp_qloop_15;
+                const real_t tmp_qloop_24 = tmp_qloop_1*tmp_qloop_23;
+                const real_t tmp_qloop_25 = tmp_qloop_2*tmp_qloop_24;
+                const real_t tmp_qloop_26 = tmp_qloop_16*pow(tmp_qloop_5, -2.5000000000000000)*3.0;
+                const real_t tmp_qloop_27 = tmp_qloop_0*tmp_qloop_26*tmp_qloop_4;
+                const real_t tmp_qloop_28 = tmp_qloop_24*tmp_qloop_4 - tmp_qloop_27;
+                const real_t tmp_qloop_29 = tmp_qloop_23*tmp_qloop_7;
+                const real_t tmp_qloop_30 = tmp_qloop_0*tmp_qloop_3;
+                const real_t tmp_qloop_31 = tmp_qloop_24*tmp_qloop_30;
+                const real_t tmp_qloop_32 = tmp_qloop_17*2.0;
+                const real_t tmp_qloop_33 = tmp_qloop_2*tmp_qloop_26*tmp_qloop_3;
+                const real_t tmp_qloop_34 = tmp_qloop_18*tmp_qloop_3 - tmp_qloop_33;
+                const real_t tmp_qloop_35 = tmp_qloop_29*tmp_qloop_30;
+                const real_t tmp_qloop_36 = tmp_qloop_23*tmp_qloop_30*tmp_qloop_8;
+                const real_t tmp_qloop_37 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                const real_t tmp_qloop_38 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_39 = tmp_qloop_38*2.0;
+                const real_t tmp_qloop_40 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_41 = tmp_qloop_40*2.0;
+                const real_t tmp_qloop_42 = tmp_qloop_37 + tmp_qloop_39 + tmp_qloop_41 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0;
+                const real_t tmp_qloop_44 = tmp_qloop_39 - _data_q_p_0[q];
+                const real_t tmp_qloop_46 = tmp_qloop_41 - _data_q_p_1[q];
+                const real_t tmp_qloop_47 = -tmp_qloop_37 + tmp_qloop_40*-4.0 + 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_48 = -tmp_qloop_37 + tmp_qloop_38*-4.0 + 4.0*_data_q_p_0[q];
+                const real_t jac_blending_0_0 = tmp_qloop_0*tmp_qloop_14 + tmp_qloop_18*tmp_qloop_4;
+                const real_t jac_blending_0_1 = -tmp_qloop_0*tmp_qloop_15*tmp_qloop_16*tmp_qloop_3 - tmp_qloop_0*tmp_qloop_19;
+                const real_t jac_blending_1_0 = tmp_qloop_14*tmp_qloop_3 - tmp_qloop_20*tmp_qloop_3;
+                const real_t jac_blending_1_1 = tmp_qloop_15*tmp_qloop_16*tmp_qloop_2*1.0 - tmp_qloop_19*tmp_qloop_3;
+                const real_t tmp_qloop_21 = jac_blending_0_0*jac_blending_1_1 - jac_blending_0_1*jac_blending_1_0;
+                const real_t tmp_qloop_22 = 1.0 / (tmp_qloop_21);
+                const real_t abs_det_jac_blending = tmp_qloop_21;
+                const real_t tmp_qloop_43 = abs_det_jac_affine_BLUE*abs_det_jac_blending*_data_q_w[q];
+                const real_t tmp_qloop_45 = tmp_qloop_42*tmp_qloop_43;
+                const real_t tmp_qloop_49 = tmp_qloop_43*tmp_qloop_44;
+                const real_t tmp_qloop_50 = tmp_qloop_43*tmp_qloop_46;
+                const real_t tmp_qloop_51 = tmp_qloop_43*tmp_qloop_47;
+                const real_t jac_blending_inv_0_0 = jac_blending_1_1*tmp_qloop_22;
+                const real_t jac_blending_inv_0_1 = -jac_blending_0_1*tmp_qloop_22;
+                const real_t jac_blending_inv_1_0 = -jac_blending_1_0*tmp_qloop_22;
+                const real_t jac_blending_inv_1_1 = jac_blending_0_0*tmp_qloop_22;
+                const real_t hessian_blending_0_0_0 = tmp_qloop_14 - tmp_qloop_25 + tmp_qloop_28;
+                const real_t hessian_blending_1_0_0 = -tmp_qloop_26*(tmp_qloop_3*tmp_qloop_3*tmp_qloop_3) + tmp_qloop_29*tmp_qloop_4 + tmp_qloop_3*tmp_qloop_32 - tmp_qloop_31;
+                const real_t hessian_blending_0_0_1 = tmp_qloop_1*tmp_qloop_11*tmp_qloop_15*tmp_qloop_30*-2.0 - tmp_qloop_34;
+                const real_t hessian_blending_1_0_1 = tmp_qloop_1*tmp_qloop_10*tmp_qloop_6*tmp_qloop_9*1.0 - tmp_qloop_20 - tmp_qloop_28 - tmp_qloop_35;
+                const real_t hessian_blending_0_1_0 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_31 - tmp_qloop_34;
+                const real_t hessian_blending_1_1_0 = -tmp_qloop_20 + tmp_qloop_27 - tmp_qloop_35 + tmp_qloop_36;
+                const real_t hessian_blending_0_1_1 = tmp_qloop_0*tmp_qloop_32 - (tmp_qloop_0*tmp_qloop_0*tmp_qloop_0)*tmp_qloop_26 + tmp_qloop_25 + tmp_qloop_36;
+                const real_t hessian_blending_1_1_1 = tmp_qloop_10*tmp_qloop_15*tmp_qloop_2*tmp_qloop_7*tmp_qloop_9*1.0 + tmp_qloop_10*tmp_qloop_15*tmp_qloop_4*tmp_qloop_8*tmp_qloop_9*1.0 - tmp_qloop_19 - tmp_qloop_33;
+                const real_t q_tmp_0_0 = (tmp_qloop_42*tmp_qloop_42)*tmp_qloop_43;
+                const real_t q_tmp_0_1 = tmp_qloop_44*tmp_qloop_45;
+                const real_t q_tmp_0_2 = tmp_qloop_45*tmp_qloop_46;
+                const real_t q_tmp_0_3 = tmp_qloop_37*tmp_qloop_45;
+                const real_t q_tmp_0_4 = tmp_qloop_45*tmp_qloop_47;
+                const real_t q_tmp_0_5 = tmp_qloop_45*tmp_qloop_48;
+                const real_t q_tmp_1_1 = tmp_qloop_43*(tmp_qloop_44*tmp_qloop_44);
+                const real_t q_tmp_1_2 = tmp_qloop_46*tmp_qloop_49;
+                const real_t q_tmp_1_3 = tmp_qloop_37*tmp_qloop_49;
+                const real_t q_tmp_1_4 = tmp_qloop_47*tmp_qloop_49;
+                const real_t q_tmp_1_5 = tmp_qloop_48*tmp_qloop_49;
+                const real_t q_tmp_2_2 = tmp_qloop_43*(tmp_qloop_46*tmp_qloop_46);
+                const real_t q_tmp_2_3 = tmp_qloop_37*tmp_qloop_50;
+                const real_t q_tmp_2_4 = tmp_qloop_47*tmp_qloop_50;
+                const real_t q_tmp_2_5 = tmp_qloop_48*tmp_qloop_50;
+                const real_t q_tmp_3_3 = tmp_qloop_38*tmp_qloop_40*tmp_qloop_43*16.0;
+                const real_t q_tmp_3_4 = tmp_qloop_37*tmp_qloop_51;
+                const real_t q_tmp_3_5 = tmp_qloop_37*tmp_qloop_43*tmp_qloop_48;
+                const real_t q_tmp_4_4 = tmp_qloop_43*(tmp_qloop_47*tmp_qloop_47);
+                const real_t q_tmp_4_5 = tmp_qloop_48*tmp_qloop_51;
+                const real_t q_tmp_5_5 = tmp_qloop_43*(tmp_qloop_48*tmp_qloop_48);
                 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;
diff --git a/operators/supg_advection/CMakeLists.txt b/operators/supg_advection/CMakeLists.txt
index af2b32f7cbe94964056c3ae833647aeca9540f7c..5f1e20d11a65db526eeb4539f2f87f9cb50ee1b9 100644
--- a/operators/supg_advection/CMakeLists.txt
+++ b/operators/supg_advection/CMakeLists.txt
@@ -12,9 +12,12 @@ if(HYTEG_BUILD_WITH_AVX AND WALBERLA_DOUBLE_ACCURACY)
       avx/P2ElementwiseSupgAdvectionAnnulusMap_apply_P2ElementwiseSupgAdvectionAnnulusMap_macro_2D.cpp
       avx/P2ElementwiseSupgAdvectionAnnulusMap_computeInverseDiagonalOperatorValues_P2ElementwiseSupgAdvectionAnnulusMap_macro_2D.cpp
       avx/P2ElementwiseSupgAdvection_apply_P2ElementwiseSupgAdvection_macro_2D.cpp
+      avx/P2ElementwiseSupgAdvection_apply_P2ElementwiseSupgAdvection_macro_3D.cpp
       avx/P2ElementwiseSupgAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseSupgAdvection_macro_2D.cpp
+      avx/P2ElementwiseSupgAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseSupgAdvection_macro_3D.cpp
       noarch/P2ElementwiseSupgAdvectionAnnulusMap_toMatrix_P2ElementwiseSupgAdvectionAnnulusMap_macro_2D.cpp
       noarch/P2ElementwiseSupgAdvection_toMatrix_P2ElementwiseSupgAdvection_macro_2D.cpp
+      noarch/P2ElementwiseSupgAdvection_toMatrix_P2ElementwiseSupgAdvection_macro_3D.cpp
    )
 
    set_source_files_properties(
@@ -22,7 +25,9 @@ if(HYTEG_BUILD_WITH_AVX AND WALBERLA_DOUBLE_ACCURACY)
       avx/P2ElementwiseSupgAdvectionAnnulusMap_apply_P2ElementwiseSupgAdvectionAnnulusMap_macro_2D.cpp
       avx/P2ElementwiseSupgAdvectionAnnulusMap_computeInverseDiagonalOperatorValues_P2ElementwiseSupgAdvectionAnnulusMap_macro_2D.cpp
       avx/P2ElementwiseSupgAdvection_apply_P2ElementwiseSupgAdvection_macro_2D.cpp
+      avx/P2ElementwiseSupgAdvection_apply_P2ElementwiseSupgAdvection_macro_3D.cpp
       avx/P2ElementwiseSupgAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseSupgAdvection_macro_2D.cpp
+      avx/P2ElementwiseSupgAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseSupgAdvection_macro_3D.cpp
 
       PROPERTIES COMPILE_OPTIONS ${HYTEG_COMPILER_NATIVE_FLAGS}
    )
@@ -37,8 +42,11 @@ else()
       noarch/P2ElementwiseSupgAdvectionAnnulusMap_computeInverseDiagonalOperatorValues_P2ElementwiseSupgAdvectionAnnulusMap_macro_2D.cpp
       noarch/P2ElementwiseSupgAdvectionAnnulusMap_toMatrix_P2ElementwiseSupgAdvectionAnnulusMap_macro_2D.cpp
       noarch/P2ElementwiseSupgAdvection_apply_P2ElementwiseSupgAdvection_macro_2D.cpp
+      noarch/P2ElementwiseSupgAdvection_apply_P2ElementwiseSupgAdvection_macro_3D.cpp
       noarch/P2ElementwiseSupgAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseSupgAdvection_macro_2D.cpp
+      noarch/P2ElementwiseSupgAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseSupgAdvection_macro_3D.cpp
       noarch/P2ElementwiseSupgAdvection_toMatrix_P2ElementwiseSupgAdvection_macro_2D.cpp
+      noarch/P2ElementwiseSupgAdvection_toMatrix_P2ElementwiseSupgAdvection_macro_3D.cpp
    )
 endif()
 
diff --git a/operators/supg_advection/P2ElementwiseSupgAdvection.cpp b/operators/supg_advection/P2ElementwiseSupgAdvection.cpp
index da2963e6920df65784e9eeac831e7355ad8814b8..6edfae736b2d62d7eade9bf806cd306798acc941 100644
--- a/operators/supg_advection/P2ElementwiseSupgAdvection.cpp
+++ b/operators/supg_advection/P2ElementwiseSupgAdvection.cpp
@@ -52,11 +52,13 @@ P2ElementwiseSupgAdvection::P2ElementwiseSupgAdvection( const std::shared_ptr< P
                                                         size_t                                     maxLevel,
                                                         const P2Function< real_t >&                _cp_times_delta,
                                                         const P2Function< real_t >&                _ux,
-                                                        const P2Function< real_t >&                _uy )
+                                                        const P2Function< real_t >&                _uy,
+                                                        const P2Function< real_t >&                _uz )
 : Operator( storage, minLevel, maxLevel )
 , cp_times_delta( _cp_times_delta )
 , ux( _ux )
 , uy( _uy )
+, uz( _uz )
 {}
 
 void P2ElementwiseSupgAdvection::apply( const P2Function< real_t >& src,
@@ -71,7 +73,23 @@ void P2ElementwiseSupgAdvection::apply( const P2Function< real_t >& src,
    this->timingTree_->start( "pre-communication" );
    if ( this->storage_->hasGlobalCells() )
    {
-      WALBERLA_ABORT( "Not implemented." );
+      // 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 );
+      cp_times_delta.communicate< Face, Cell >( level );
+      cp_times_delta.communicate< Edge, Cell >( level );
+      cp_times_delta.communicate< Vertex, Cell >( level );
+      ux.communicate< Face, Cell >( level );
+      ux.communicate< Edge, Cell >( level );
+      ux.communicate< Vertex, Cell >( level );
+      uy.communicate< Face, Cell >( level );
+      uy.communicate< Edge, Cell >( level );
+      uy.communicate< Vertex, Cell >( level );
+      uz.communicate< Face, Cell >( level );
+      uz.communicate< Edge, Cell >( level );
+      uz.communicate< Vertex, Cell >( level );
    }
    else
    {
@@ -79,6 +97,7 @@ void P2ElementwiseSupgAdvection::apply( const P2Function< real_t >& src,
       communication::syncFunctionBetweenPrimitives( cp_times_delta, level, communication::syncDirection_t::LOW2HIGH );
       communication::syncFunctionBetweenPrimitives( ux, level, communication::syncDirection_t::LOW2HIGH );
       communication::syncFunctionBetweenPrimitives( uy, level, communication::syncDirection_t::LOW2HIGH );
+      communication::syncFunctionBetweenPrimitives( uz, level, communication::syncDirection_t::LOW2HIGH );
    }
    this->timingTree_->stop( "pre-communication" );
 
@@ -93,7 +112,105 @@ void P2ElementwiseSupgAdvection::apply( const P2Function< real_t >& src,
 
    if ( storage_->hasGlobalCells() )
    {
-      WALBERLA_ABORT( "Not implemented." );
+      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_dstVertex = cell.getData( dst.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_dstEdge   = cell.getData( dst.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_cp_times_deltaVertex =
+             cell.getData( cp_times_delta.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_cp_times_deltaEdge =
+             cell.getData( cp_times_delta.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uxVertex = cell.getData( ux.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uxEdge   = cell.getData( ux.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uyVertex = cell.getData( uy.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uyEdge   = cell.getData( uy.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uzVertex = cell.getData( uz.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uzEdge   = cell.getData( uz.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_dstVertex[arrayIdx] = real_t( 0 );
+            }
+         }
+         edgedof::macrocell::setBoundaryToZero( level, cell, dst.getEdgeDoFFunction().getCellDataID() );
+
+         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_P2ElementwiseSupgAdvection_macro_3D(
+
+             _data_cp_times_deltaEdge,
+             _data_cp_times_deltaVertex,
+             _data_dstEdge,
+             _data_dstVertex,
+             _data_srcEdge,
+             _data_srcVertex,
+             _data_uxEdge,
+             _data_uxVertex,
+             _data_uyEdge,
+             _data_uyVertex,
+             _data_uzEdge,
+             _data_uzVertex,
+             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.getVertexDoFFunction().communicateAdditively< Cell, Face >(
+          level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      dst.getVertexDoFFunction().communicateAdditively< Cell, Edge >(
+          level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      dst.getVertexDoFFunction().communicateAdditively< Cell, Vertex >(
+          level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      dst.getEdgeDoFFunction().communicateAdditively< Cell, Face >(
+          level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      dst.getEdgeDoFFunction().communicateAdditively< Cell, Edge >(
+          level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      this->timingTree_->stop( "post-communication" );
    }
    else
    {
@@ -216,9 +333,80 @@ void P2ElementwiseSupgAdvection::toMatrix( const std::shared_ptr< SparseMatrixPr
       uy.communicate< Face, Cell >( level );
       uy.communicate< Edge, Cell >( level );
       uy.communicate< Vertex, Cell >( level );
+      uz.communicate< Face, Cell >( level );
+      uz.communicate< Edge, Cell >( level );
+      uz.communicate< Vertex, Cell >( level );
       this->timingTree_->stop( "pre-communication" );
 
-      WALBERLA_ABORT( "Not implemented." );
+      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_dstVertex = cell.getData( dst.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         idx_t*  _data_dstEdge   = cell.getData( dst.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_cp_times_deltaVertex =
+             cell.getData( cp_times_delta.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_cp_times_deltaEdge =
+             cell.getData( cp_times_delta.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uxVertex = cell.getData( ux.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uxEdge   = cell.getData( ux.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uyVertex = cell.getData( uy.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uyEdge   = cell.getData( uy.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uzVertex = cell.getData( uz.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_uzEdge   = cell.getData( uz.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_P2ElementwiseSupgAdvection_macro_3D(
+
+             _data_cp_times_deltaEdge,
+             _data_cp_times_deltaVertex,
+             _data_dstEdge,
+             _data_dstVertex,
+             _data_srcEdge,
+             _data_srcVertex,
+             _data_uxEdge,
+             _data_uxVertex,
+             _data_uyEdge,
+             _data_uyVertex,
+             _data_uzEdge,
+             _data_uzVertex,
+             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
    {
@@ -226,6 +414,7 @@ void P2ElementwiseSupgAdvection::toMatrix( const std::shared_ptr< SparseMatrixPr
       communication::syncFunctionBetweenPrimitives( cp_times_delta, level, communication::syncDirection_t::LOW2HIGH );
       communication::syncFunctionBetweenPrimitives( ux, level, communication::syncDirection_t::LOW2HIGH );
       communication::syncFunctionBetweenPrimitives( uy, level, communication::syncDirection_t::LOW2HIGH );
+      communication::syncFunctionBetweenPrimitives( uz, level, communication::syncDirection_t::LOW2HIGH );
       this->timingTree_->stop( "pre-communication" );
 
       for ( auto& it : storage_->getFaces() )
@@ -245,6 +434,8 @@ void P2ElementwiseSupgAdvection::toMatrix( const std::shared_ptr< SparseMatrixPr
          real_t* _data_uxEdge   = face.getData( ux.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
          real_t* _data_uyVertex = face.getData( uy.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
          real_t* _data_uyEdge   = face.getData( uy.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
+         real_t* _data_uzVertex = face.getData( uz.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
+         real_t* _data_uzEdge   = face.getData( uz.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 );
@@ -309,9 +500,88 @@ void P2ElementwiseSupgAdvection::computeInverseDiagonalOperatorValues()
          uy.communicate< Face, Cell >( level );
          uy.communicate< Edge, Cell >( level );
          uy.communicate< Vertex, Cell >( level );
+         uz.communicate< Face, Cell >( level );
+         uz.communicate< Edge, Cell >( level );
+         uz.communicate< Vertex, Cell >( level );
          this->timingTree_->stop( "pre-communication" );
 
-         WALBERLA_ABORT( "Not implemented." );
+         for ( auto& it : storage_->getCells() )
+         {
+            Cell& cell = *it.second;
+
+            // get hold of the actual numerical data
+            real_t* _data_invDiag_Vertex =
+                cell.getData( ( *invDiag_ ).getVertexDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_invDiag_Edge = cell.getData( ( *invDiag_ ).getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_cp_times_deltaVertex =
+                cell.getData( cp_times_delta.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_cp_times_deltaEdge =
+                cell.getData( cp_times_delta.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_uxVertex = cell.getData( ux.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_uxEdge   = cell.getData( ux.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_uyVertex = cell.getData( uy.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_uyEdge   = cell.getData( uy.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_uzVertex = cell.getData( uz.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_uzEdge   = cell.getData( uz.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" );
+
+            computeInverseDiagonalOperatorValues_P2ElementwiseSupgAdvection_macro_3D(
+
+                _data_cp_times_deltaEdge,
+                _data_cp_times_deltaVertex,
+                _data_invDiag_Edge,
+                _data_invDiag_Vertex,
+                _data_uxEdge,
+                _data_uxVertex,
+                _data_uyEdge,
+                _data_uyVertex,
+                _data_uzEdge,
+                _data_uzVertex,
+                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!
+         ( *invDiag_ ).getVertexDoFFunction().communicateAdditively< Cell, Face >( level );
+         ( *invDiag_ ).getVertexDoFFunction().communicateAdditively< Cell, Edge >( level );
+         ( *invDiag_ ).getVertexDoFFunction().communicateAdditively< Cell, Vertex >( level );
+         ( *invDiag_ ).getEdgeDoFFunction().communicateAdditively< Cell, Face >( level );
+         ( *invDiag_ ).getEdgeDoFFunction().communicateAdditively< Cell, Edge >( level );
+         this->timingTree_->stop( "post-communication" );
          ( *invDiag_ ).invertElementwise( level );
       }
       else
@@ -320,6 +590,7 @@ void P2ElementwiseSupgAdvection::computeInverseDiagonalOperatorValues()
          communication::syncFunctionBetweenPrimitives( cp_times_delta, level, communication::syncDirection_t::LOW2HIGH );
          communication::syncFunctionBetweenPrimitives( ux, level, communication::syncDirection_t::LOW2HIGH );
          communication::syncFunctionBetweenPrimitives( uy, level, communication::syncDirection_t::LOW2HIGH );
+         communication::syncFunctionBetweenPrimitives( uz, level, communication::syncDirection_t::LOW2HIGH );
          this->timingTree_->stop( "pre-communication" );
 
          for ( auto& it : storage_->getFaces() )
@@ -338,6 +609,8 @@ void P2ElementwiseSupgAdvection::computeInverseDiagonalOperatorValues()
             real_t* _data_uxEdge   = face.getData( ux.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
             real_t* _data_uyVertex = face.getData( uy.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
             real_t* _data_uyEdge   = face.getData( uy.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
+            real_t* _data_uzVertex = face.getData( uz.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
+            real_t* _data_uzEdge   = face.getData( uz.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 );
diff --git a/operators/supg_advection/P2ElementwiseSupgAdvection.hpp b/operators/supg_advection/P2ElementwiseSupgAdvection.hpp
index 2a9d3838f1a614003a2bed318c4c0216d9239e1e..1698a063311ae41cb193bad9c53d09399668e760 100644
--- a/operators/supg_advection/P2ElementwiseSupgAdvection.hpp
+++ b/operators/supg_advection/P2ElementwiseSupgAdvection.hpp
@@ -66,7 +66,8 @@ class P2ElementwiseSupgAdvection : public Operator< P2Function< real_t >, P2Func
                                size_t                                     maxLevel,
                                const P2Function< real_t >&                _cp_times_delta,
                                const P2Function< real_t >&                _ux,
-                               const P2Function< real_t >&                _uy );
+                               const P2Function< real_t >&                _uy,
+                               const P2Function< real_t >&                _uz );
 
    void apply( const P2Function< real_t >& src,
                const P2Function< real_t >& dst,
@@ -115,6 +116,43 @@ class P2ElementwiseSupgAdvection : public Operator< P2Function< real_t >, P2Func
                                                    int64_t          micro_edges_per_macro_edge,
                                                    real_t           micro_edges_per_macro_edge_float ) const;
 
+   /// Integral: P2ElementwiseSupgAdvection
+   /// - volume element:  tetrahedron, dim: 3, vertices: 4, spacedim: 3
+   /// - kernel type:     apply
+   /// - loop strategy:   SAWTOOTH
+   /// - quadrature rule: Hammer-Marlowe-Stroud 3 | points: 5, degree: 3
+   /// - blending map:    IdentityMap
+   /// - operations per element:
+   ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
+   /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
+   ///   1303    1232      36       0      0              0                 0              1
+   void apply_P2ElementwiseSupgAdvection_macro_3D( real_t* RESTRICT _data_cp_times_deltaEdge,
+                                                   real_t* RESTRICT _data_cp_times_deltaVertex,
+                                                   real_t* RESTRICT _data_dstEdge,
+                                                   real_t* RESTRICT _data_dstVertex,
+                                                   real_t* RESTRICT _data_srcEdge,
+                                                   real_t* RESTRICT _data_srcVertex,
+                                                   real_t* RESTRICT _data_uxEdge,
+                                                   real_t* RESTRICT _data_uxVertex,
+                                                   real_t* RESTRICT _data_uyEdge,
+                                                   real_t* RESTRICT _data_uyVertex,
+                                                   real_t* RESTRICT _data_uzEdge,
+                                                   real_t* RESTRICT _data_uzVertex,
+                                                   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;
+
    /// Integral: P2ElementwiseSupgAdvection
    /// - volume element:  triangle, dim: 2, vertices: 3, spacedim: 2
    /// - kernel type:     toMatrix
@@ -145,6 +183,44 @@ class P2ElementwiseSupgAdvection : public Operator< P2Function< real_t >, P2Func
                                                       int64_t                              micro_edges_per_macro_edge,
                                                       real_t micro_edges_per_macro_edge_float ) const;
 
+   /// Integral: P2ElementwiseSupgAdvection
+   /// - volume element:  tetrahedron, dim: 3, vertices: 4, spacedim: 3
+   /// - kernel type:     toMatrix
+   /// - loop strategy:   SAWTOOTH
+   /// - quadrature rule: Hammer-Marlowe-Stroud 3 | points: 5, degree: 3
+   /// - blending map:    IdentityMap
+   /// - operations per element:
+   ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
+   /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
+   ///   1203    1132      36       0      0              0                 0              4
+   void toMatrix_P2ElementwiseSupgAdvection_macro_3D( real_t* RESTRICT                     _data_cp_times_deltaEdge,
+                                                      real_t* RESTRICT                     _data_cp_times_deltaVertex,
+                                                      idx_t* RESTRICT                      _data_dstEdge,
+                                                      idx_t* RESTRICT                      _data_dstVertex,
+                                                      idx_t* RESTRICT                      _data_srcEdge,
+                                                      idx_t* RESTRICT                      _data_srcVertex,
+                                                      real_t* RESTRICT                     _data_uxEdge,
+                                                      real_t* RESTRICT                     _data_uxVertex,
+                                                      real_t* RESTRICT                     _data_uyEdge,
+                                                      real_t* RESTRICT                     _data_uyVertex,
+                                                      real_t* RESTRICT                     _data_uzEdge,
+                                                      real_t* RESTRICT                     _data_uzVertex,
+                                                      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;
+
    /// Integral: P2ElementwiseSupgAdvection
    /// - volume element:  triangle, dim: 2, vertices: 3, spacedim: 2
    /// - kernel type:     computeInverseDiagonalOperatorValues
@@ -172,10 +248,46 @@ class P2ElementwiseSupgAdvection : public Operator< P2Function< real_t >, P2Func
                                                                                   int64_t          micro_edges_per_macro_edge,
                                                                                   real_t micro_edges_per_macro_edge_float ) const;
 
+   /// Integral: P2ElementwiseSupgAdvection
+   /// - volume element:  tetrahedron, dim: 3, vertices: 4, spacedim: 3
+   /// - kernel type:     computeInverseDiagonalOperatorValues
+   /// - loop strategy:   SAWTOOTH
+   /// - quadrature rule: Hammer-Marlowe-Stroud 3 | points: 5, degree: 3
+   /// - blending map:    IdentityMap
+   /// - operations per element:
+   ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
+   /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
+   ///    763     862      36       0      0              0                 0              1
+   void computeInverseDiagonalOperatorValues_P2ElementwiseSupgAdvection_macro_3D( real_t* RESTRICT _data_cp_times_deltaEdge,
+                                                                                  real_t* RESTRICT _data_cp_times_deltaVertex,
+                                                                                  real_t* RESTRICT _data_invDiag_Edge,
+                                                                                  real_t* RESTRICT _data_invDiag_Vertex,
+                                                                                  real_t* RESTRICT _data_uxEdge,
+                                                                                  real_t* RESTRICT _data_uxVertex,
+                                                                                  real_t* RESTRICT _data_uyEdge,
+                                                                                  real_t* RESTRICT _data_uyVertex,
+                                                                                  real_t* RESTRICT _data_uzEdge,
+                                                                                  real_t* RESTRICT _data_uzVertex,
+                                                                                  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;
+
    std::shared_ptr< P2Function< real_t > > invDiag_;
    P2Function< real_t >                    cp_times_delta;
    P2Function< real_t >                    ux;
    P2Function< real_t >                    uy;
+   P2Function< real_t >                    uz;
 };
 
 } // namespace operatorgeneration
diff --git a/operators/supg_advection/avx/P2ElementwiseSupgAdvection_apply_P2ElementwiseSupgAdvection_macro_3D.cpp b/operators/supg_advection/avx/P2ElementwiseSupgAdvection_apply_P2ElementwiseSupgAdvection_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..b5c892c737bf321ed268ffd1cbc33c3ec4ed7138
--- /dev/null
+++ b/operators/supg_advection/avx/P2ElementwiseSupgAdvection_apply_P2ElementwiseSupgAdvection_macro_3D.cpp
@@ -0,0 +1,6636 @@
+/*
+* 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 Operator Generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ElementwiseSupgAdvection.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ElementwiseSupgAdvection::apply_P2ElementwiseSupgAdvection_macro_3D( real_t * RESTRICT  _data_cp_times_deltaEdge, real_t * RESTRICT  _data_cp_times_deltaVertex, real_t * RESTRICT  _data_dstEdge, real_t * RESTRICT  _data_dstVertex, real_t * RESTRICT  _data_srcEdge, real_t * RESTRICT  _data_srcVertex, real_t * RESTRICT  _data_uxEdge, real_t * RESTRICT  _data_uxVertex, real_t * RESTRICT  _data_uyEdge, real_t * RESTRICT  _data_uyVertex, real_t * RESTRICT  _data_uzEdge, real_t * RESTRICT  _data_uzVertex, 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 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_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 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_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 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_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 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP;
+       const real_t tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP);
+       const real_t jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP);
+       const real_t jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP);
+       const real_t jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP);
+       const real_t jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP);
+       {
+          /* CellType.WHITE_UP */
+          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 cp_times_delta_dof_0 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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);
+                __m256d q_acc_4_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_1),_mm256_mul_pd(tmp_qloop_13,ux_dof_2)),_mm256_mul_pd(tmp_qloop_16,ux_dof_3)),_mm256_mul_pd(tmp_qloop_17,ux_dof_7)),_mm256_mul_pd(tmp_qloop_18,ux_dof_8)),_mm256_mul_pd(tmp_qloop_20,ux_dof_9)),_mm256_mul_pd(tmp_qloop_21,ux_dof_0)),_mm256_mul_pd(tmp_qloop_5,ux_dof_6)),_mm256_mul_pd(tmp_qloop_6,ux_dof_5)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_1),_mm256_mul_pd(tmp_qloop_13,uy_dof_2)),_mm256_mul_pd(tmp_qloop_16,uy_dof_3)),_mm256_mul_pd(tmp_qloop_17,uy_dof_7)),_mm256_mul_pd(tmp_qloop_18,uy_dof_8)),_mm256_mul_pd(tmp_qloop_20,uy_dof_9)),_mm256_mul_pd(tmp_qloop_21,uy_dof_0)),_mm256_mul_pd(tmp_qloop_5,uy_dof_6)),_mm256_mul_pd(tmp_qloop_6,uy_dof_5)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_1),_mm256_mul_pd(tmp_qloop_13,uz_dof_2)),_mm256_mul_pd(tmp_qloop_16,uz_dof_3)),_mm256_mul_pd(tmp_qloop_17,uz_dof_7)),_mm256_mul_pd(tmp_qloop_18,uz_dof_8)),_mm256_mul_pd(tmp_qloop_20,uz_dof_9)),_mm256_mul_pd(tmp_qloop_21,uz_dof_0)),_mm256_mul_pd(tmp_qloop_5,uz_dof_6)),_mm256_mul_pd(tmp_qloop_6,uz_dof_5)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4));
+                   const __m256d tmp_qloop_25 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))));
+                   const __m256d tmp_qloop_26 = _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(cp_times_delta_dof_0,tmp_qloop_21),_mm256_mul_pd(cp_times_delta_dof_1,tmp_qloop_10)),_mm256_mul_pd(cp_times_delta_dof_2,tmp_qloop_13)),_mm256_mul_pd(cp_times_delta_dof_3,tmp_qloop_16)),_mm256_mul_pd(cp_times_delta_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_times_delta_dof_5,tmp_qloop_6)),_mm256_mul_pd(cp_times_delta_dof_6,tmp_qloop_5)),_mm256_mul_pd(cp_times_delta_dof_7,tmp_qloop_17)),_mm256_mul_pd(cp_times_delta_dof_8,tmp_qloop_18)),_mm256_mul_pd(cp_times_delta_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP));
+                   const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)));
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_26);
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_28,tmp_qloop_29);
+                   const __m256d tmp_qloop_31 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_32 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_31),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_31),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_31),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_32);
+                   const __m256d tmp_qloop_34 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_35 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_34),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_34),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_34),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_35);
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP));
+                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP));
+                   const __m256d tmp_qloop_43 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_43);
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP));
+                   const __m256d tmp_qloop_47 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP));
+                   const __m256d tmp_qloop_48 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP));
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP));
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP));
+                   const __m256d tmp_qloop_51 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_47,tmp_qloop_48))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_49,tmp_qloop_50)));
+                   const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_51);
+                   const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP));
+                   const __m256d tmp_qloop_54 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP));
+                   const __m256d tmp_qloop_55 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP));
+                   const __m256d tmp_qloop_56 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP));
+                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP));
+                   const __m256d tmp_qloop_58 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP));
+                   const __m256d tmp_qloop_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_53,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_55,tmp_qloop_56))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_57,tmp_qloop_58)));
+                   const __m256d tmp_qloop_60 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_59);
+                   const __m256d tmp_qloop_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_62 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))));
+                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_62);
+                   const __m256d tmp_qloop_64 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_65 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_66 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_54,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_65,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_65,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_65,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)))));
+                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_66);
+                   const __m256d tmp_qloop_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)))));
+                   const __m256d tmp_qloop_70 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_69);
+                   const __m256d tmp_qloop_71 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_28);
+                   const __m256d tmp_qloop_72 = _mm256_mul_pd(tmp_qloop_32,tmp_qloop_71);
+                   const __m256d tmp_qloop_73 = _mm256_mul_pd(tmp_qloop_35,tmp_qloop_71);
+                   const __m256d tmp_qloop_74 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_71);
+                   const __m256d tmp_qloop_75 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_71);
+                   const __m256d tmp_qloop_76 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_71);
+                   const __m256d tmp_qloop_77 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_71);
+                   const __m256d tmp_qloop_78 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_71);
+                   const __m256d tmp_qloop_79 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_71);
+                   const __m256d tmp_qloop_80 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_32);
+                   const __m256d tmp_qloop_81 = _mm256_mul_pd(tmp_qloop_35,tmp_qloop_80);
+                   const __m256d tmp_qloop_82 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_80);
+                   const __m256d tmp_qloop_83 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_80);
+                   const __m256d tmp_qloop_84 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_80);
+                   const __m256d tmp_qloop_85 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_80);
+                   const __m256d tmp_qloop_86 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_80);
+                   const __m256d tmp_qloop_87 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_80);
+                   const __m256d tmp_qloop_88 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_35);
+                   const __m256d tmp_qloop_89 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_88);
+                   const __m256d tmp_qloop_90 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_88);
+                   const __m256d tmp_qloop_91 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_88);
+                   const __m256d tmp_qloop_92 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_88);
+                   const __m256d tmp_qloop_93 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_88);
+                   const __m256d tmp_qloop_94 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_88);
+                   const __m256d tmp_qloop_95 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_43);
+                   const __m256d tmp_qloop_96 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_95);
+                   const __m256d tmp_qloop_97 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_95);
+                   const __m256d tmp_qloop_98 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_95);
+                   const __m256d tmp_qloop_99 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_95);
+                   const __m256d tmp_qloop_100 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_95);
+                   const __m256d tmp_qloop_101 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_51);
+                   const __m256d tmp_qloop_102 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_59);
+                   const __m256d tmp_qloop_103 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_62);
+                   const __m256d tmp_qloop_104 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_66);
+                   const __m256d tmp_qloop_105 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_69);
+                   const __m256d tmp_qloop_106 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_59);
+                   const __m256d tmp_qloop_107 = _mm256_mul_pd(tmp_qloop_106,tmp_qloop_62);
+                   const __m256d tmp_qloop_108 = _mm256_mul_pd(tmp_qloop_106,tmp_qloop_66);
+                   const __m256d tmp_qloop_109 = _mm256_mul_pd(tmp_qloop_106,tmp_qloop_69);
+                   const __m256d tmp_qloop_110 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_62);
+                   const __m256d tmp_qloop_111 = _mm256_mul_pd(tmp_qloop_110,tmp_qloop_66);
+                   const __m256d tmp_qloop_112 = _mm256_mul_pd(tmp_qloop_110,tmp_qloop_69);
+                   const __m256d tmp_qloop_113 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_26,tmp_qloop_66),tmp_qloop_69);
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_25,tmp_qloop_25),tmp_qloop_26);
+                   const __m256d q_tmp_0_1 = tmp_qloop_30;
+                   const __m256d q_tmp_0_2 = tmp_qloop_33;
+                   const __m256d q_tmp_0_3 = tmp_qloop_36;
+                   const __m256d q_tmp_0_4 = tmp_qloop_44;
+                   const __m256d q_tmp_0_5 = tmp_qloop_52;
+                   const __m256d q_tmp_0_6 = tmp_qloop_60;
+                   const __m256d q_tmp_0_7 = tmp_qloop_63;
+                   const __m256d q_tmp_0_8 = tmp_qloop_67;
+                   const __m256d q_tmp_0_9 = tmp_qloop_70;
+                   const __m256d q_tmp_1_0 = tmp_qloop_30;
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_28,tmp_qloop_28));
+                   const __m256d q_tmp_1_2 = tmp_qloop_72;
+                   const __m256d q_tmp_1_3 = tmp_qloop_73;
+                   const __m256d q_tmp_1_4 = tmp_qloop_74;
+                   const __m256d q_tmp_1_5 = tmp_qloop_75;
+                   const __m256d q_tmp_1_6 = tmp_qloop_76;
+                   const __m256d q_tmp_1_7 = tmp_qloop_77;
+                   const __m256d q_tmp_1_8 = tmp_qloop_78;
+                   const __m256d q_tmp_1_9 = tmp_qloop_79;
+                   const __m256d q_tmp_2_0 = tmp_qloop_33;
+                   const __m256d q_tmp_2_1 = tmp_qloop_72;
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_32,tmp_qloop_32));
+                   const __m256d q_tmp_2_3 = tmp_qloop_81;
+                   const __m256d q_tmp_2_4 = tmp_qloop_82;
+                   const __m256d q_tmp_2_5 = tmp_qloop_83;
+                   const __m256d q_tmp_2_6 = tmp_qloop_84;
+                   const __m256d q_tmp_2_7 = tmp_qloop_85;
+                   const __m256d q_tmp_2_8 = tmp_qloop_86;
+                   const __m256d q_tmp_2_9 = tmp_qloop_87;
+                   const __m256d q_tmp_3_0 = tmp_qloop_36;
+                   const __m256d q_tmp_3_1 = tmp_qloop_73;
+                   const __m256d q_tmp_3_2 = tmp_qloop_81;
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_35,tmp_qloop_35));
+                   const __m256d q_tmp_3_4 = tmp_qloop_89;
+                   const __m256d q_tmp_3_5 = tmp_qloop_90;
+                   const __m256d q_tmp_3_6 = tmp_qloop_91;
+                   const __m256d q_tmp_3_7 = tmp_qloop_92;
+                   const __m256d q_tmp_3_8 = tmp_qloop_93;
+                   const __m256d q_tmp_3_9 = tmp_qloop_94;
+                   const __m256d q_tmp_4_0 = tmp_qloop_44;
+                   const __m256d q_tmp_4_1 = tmp_qloop_74;
+                   const __m256d q_tmp_4_2 = tmp_qloop_82;
+                   const __m256d q_tmp_4_3 = tmp_qloop_89;
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_43,tmp_qloop_43));
+                   const __m256d q_tmp_4_5 = tmp_qloop_96;
+                   const __m256d q_tmp_4_6 = tmp_qloop_97;
+                   const __m256d q_tmp_4_7 = tmp_qloop_98;
+                   const __m256d q_tmp_4_8 = tmp_qloop_99;
+                   const __m256d q_tmp_4_9 = tmp_qloop_100;
+                   const __m256d q_tmp_5_0 = tmp_qloop_52;
+                   const __m256d q_tmp_5_1 = tmp_qloop_75;
+                   const __m256d q_tmp_5_2 = tmp_qloop_83;
+                   const __m256d q_tmp_5_3 = tmp_qloop_90;
+                   const __m256d q_tmp_5_4 = tmp_qloop_96;
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_51,tmp_qloop_51));
+                   const __m256d q_tmp_5_6 = tmp_qloop_102;
+                   const __m256d q_tmp_5_7 = tmp_qloop_103;
+                   const __m256d q_tmp_5_8 = tmp_qloop_104;
+                   const __m256d q_tmp_5_9 = tmp_qloop_105;
+                   const __m256d q_tmp_6_0 = tmp_qloop_60;
+                   const __m256d q_tmp_6_1 = tmp_qloop_76;
+                   const __m256d q_tmp_6_2 = tmp_qloop_84;
+                   const __m256d q_tmp_6_3 = tmp_qloop_91;
+                   const __m256d q_tmp_6_4 = tmp_qloop_97;
+                   const __m256d q_tmp_6_5 = tmp_qloop_102;
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_59,tmp_qloop_59));
+                   const __m256d q_tmp_6_7 = tmp_qloop_107;
+                   const __m256d q_tmp_6_8 = tmp_qloop_108;
+                   const __m256d q_tmp_6_9 = tmp_qloop_109;
+                   const __m256d q_tmp_7_0 = tmp_qloop_63;
+                   const __m256d q_tmp_7_1 = tmp_qloop_77;
+                   const __m256d q_tmp_7_2 = tmp_qloop_85;
+                   const __m256d q_tmp_7_3 = tmp_qloop_92;
+                   const __m256d q_tmp_7_4 = tmp_qloop_98;
+                   const __m256d q_tmp_7_5 = tmp_qloop_103;
+                   const __m256d q_tmp_7_6 = tmp_qloop_107;
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_62,tmp_qloop_62));
+                   const __m256d q_tmp_7_8 = tmp_qloop_111;
+                   const __m256d q_tmp_7_9 = tmp_qloop_112;
+                   const __m256d q_tmp_8_0 = tmp_qloop_67;
+                   const __m256d q_tmp_8_1 = tmp_qloop_78;
+                   const __m256d q_tmp_8_2 = tmp_qloop_86;
+                   const __m256d q_tmp_8_3 = tmp_qloop_93;
+                   const __m256d q_tmp_8_4 = tmp_qloop_99;
+                   const __m256d q_tmp_8_5 = tmp_qloop_104;
+                   const __m256d q_tmp_8_6 = tmp_qloop_108;
+                   const __m256d q_tmp_8_7 = tmp_qloop_111;
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_66,tmp_qloop_66));
+                   const __m256d q_tmp_8_9 = tmp_qloop_113;
+                   const __m256d q_tmp_9_0 = tmp_qloop_70;
+                   const __m256d q_tmp_9_1 = tmp_qloop_79;
+                   const __m256d q_tmp_9_2 = tmp_qloop_87;
+                   const __m256d q_tmp_9_3 = tmp_qloop_94;
+                   const __m256d q_tmp_9_4 = tmp_qloop_100;
+                   const __m256d q_tmp_9_5 = tmp_qloop_105;
+                   const __m256d q_tmp_9_6 = tmp_qloop_109;
+                   const __m256d q_tmp_9_7 = tmp_qloop_112;
+                   const __m256d q_tmp_9_8 = tmp_qloop_113;
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_69,tmp_qloop_69));
+                   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);
+                   q_acc_4_0 = _mm256_add_pd(q_acc_4_0,q_tmp_4_0);
+                   q_acc_4_1 = _mm256_add_pd(q_acc_4_1,q_tmp_4_1);
+                   q_acc_4_2 = _mm256_add_pd(q_acc_4_2,q_tmp_4_2);
+                   q_acc_4_3 = _mm256_add_pd(q_acc_4_3,q_tmp_4_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5);
+                   q_acc_4_6 = _mm256_add_pd(q_acc_4_6,q_tmp_4_6);
+                   q_acc_4_7 = _mm256_add_pd(q_acc_4_7,q_tmp_4_7);
+                   q_acc_4_8 = _mm256_add_pd(q_acc_4_8,q_tmp_4_8);
+                   q_acc_4_9 = _mm256_add_pd(q_acc_4_9,q_tmp_4_9);
+                   q_acc_5_0 = _mm256_add_pd(q_acc_5_0,q_tmp_5_0);
+                   q_acc_5_1 = _mm256_add_pd(q_acc_5_1,q_tmp_5_1);
+                   q_acc_5_2 = _mm256_add_pd(q_acc_5_2,q_tmp_5_2);
+                   q_acc_5_3 = _mm256_add_pd(q_acc_5_3,q_tmp_5_3);
+                   q_acc_5_4 = _mm256_add_pd(q_acc_5_4,q_tmp_5_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_5_6 = _mm256_add_pd(q_acc_5_6,q_tmp_5_6);
+                   q_acc_5_7 = _mm256_add_pd(q_acc_5_7,q_tmp_5_7);
+                   q_acc_5_8 = _mm256_add_pd(q_acc_5_8,q_tmp_5_8);
+                   q_acc_5_9 = _mm256_add_pd(q_acc_5_9,q_tmp_5_9);
+                   q_acc_6_0 = _mm256_add_pd(q_acc_6_0,q_tmp_6_0);
+                   q_acc_6_1 = _mm256_add_pd(q_acc_6_1,q_tmp_6_1);
+                   q_acc_6_2 = _mm256_add_pd(q_acc_6_2,q_tmp_6_2);
+                   q_acc_6_3 = _mm256_add_pd(q_acc_6_3,q_tmp_6_3);
+                   q_acc_6_4 = _mm256_add_pd(q_acc_6_4,q_tmp_6_4);
+                   q_acc_6_5 = _mm256_add_pd(q_acc_6_5,q_tmp_6_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_6_7 = _mm256_add_pd(q_acc_6_7,q_tmp_6_7);
+                   q_acc_6_8 = _mm256_add_pd(q_acc_6_8,q_tmp_6_8);
+                   q_acc_6_9 = _mm256_add_pd(q_acc_6_9,q_tmp_6_9);
+                   q_acc_7_0 = _mm256_add_pd(q_acc_7_0,q_tmp_7_0);
+                   q_acc_7_1 = _mm256_add_pd(q_acc_7_1,q_tmp_7_1);
+                   q_acc_7_2 = _mm256_add_pd(q_acc_7_2,q_tmp_7_2);
+                   q_acc_7_3 = _mm256_add_pd(q_acc_7_3,q_tmp_7_3);
+                   q_acc_7_4 = _mm256_add_pd(q_acc_7_4,q_tmp_7_4);
+                   q_acc_7_5 = _mm256_add_pd(q_acc_7_5,q_tmp_7_5);
+                   q_acc_7_6 = _mm256_add_pd(q_acc_7_6,q_tmp_7_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_7_8 = _mm256_add_pd(q_acc_7_8,q_tmp_7_8);
+                   q_acc_7_9 = _mm256_add_pd(q_acc_7_9,q_tmp_7_9);
+                   q_acc_8_0 = _mm256_add_pd(q_acc_8_0,q_tmp_8_0);
+                   q_acc_8_1 = _mm256_add_pd(q_acc_8_1,q_tmp_8_1);
+                   q_acc_8_2 = _mm256_add_pd(q_acc_8_2,q_tmp_8_2);
+                   q_acc_8_3 = _mm256_add_pd(q_acc_8_3,q_tmp_8_3);
+                   q_acc_8_4 = _mm256_add_pd(q_acc_8_4,q_tmp_8_4);
+                   q_acc_8_5 = _mm256_add_pd(q_acc_8_5,q_tmp_8_5);
+                   q_acc_8_6 = _mm256_add_pd(q_acc_8_6,q_tmp_8_6);
+                   q_acc_8_7 = _mm256_add_pd(q_acc_8_7,q_tmp_8_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_8_9 = _mm256_add_pd(q_acc_8_9,q_tmp_8_9);
+                   q_acc_9_0 = _mm256_add_pd(q_acc_9_0,q_tmp_9_0);
+                   q_acc_9_1 = _mm256_add_pd(q_acc_9_1,q_tmp_9_1);
+                   q_acc_9_2 = _mm256_add_pd(q_acc_9_2,q_tmp_9_2);
+                   q_acc_9_3 = _mm256_add_pd(q_acc_9_3,q_tmp_9_3);
+                   q_acc_9_4 = _mm256_add_pd(q_acc_9_4,q_tmp_9_4);
+                   q_acc_9_5 = _mm256_add_pd(q_acc_9_5,q_tmp_9_5);
+                   q_acc_9_6 = _mm256_add_pd(q_acc_9_6,q_tmp_9_6);
+                   q_acc_9_7 = _mm256_add_pd(q_acc_9_7,q_tmp_9_7);
+                   q_acc_9_8 = _mm256_add_pd(q_acc_9_8,q_tmp_9_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_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));
+                const __m256d elMatVec_4 = _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_4_0,src_dof_0),_mm256_mul_pd(q_acc_4_1,src_dof_1)),_mm256_mul_pd(q_acc_4_2,src_dof_2)),_mm256_mul_pd(q_acc_4_3,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)),_mm256_mul_pd(q_acc_4_6,src_dof_6)),_mm256_mul_pd(q_acc_4_7,src_dof_7)),_mm256_mul_pd(q_acc_4_8,src_dof_8)),_mm256_mul_pd(q_acc_4_9,src_dof_9));
+                const __m256d elMatVec_5 = _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_5_0,src_dof_0),_mm256_mul_pd(q_acc_5_1,src_dof_1)),_mm256_mul_pd(q_acc_5_2,src_dof_2)),_mm256_mul_pd(q_acc_5_3,src_dof_3)),_mm256_mul_pd(q_acc_5_4,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)),_mm256_mul_pd(q_acc_5_6,src_dof_6)),_mm256_mul_pd(q_acc_5_7,src_dof_7)),_mm256_mul_pd(q_acc_5_8,src_dof_8)),_mm256_mul_pd(q_acc_5_9,src_dof_9));
+                const __m256d elMatVec_6 = _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_6_0,src_dof_0),_mm256_mul_pd(q_acc_6_1,src_dof_1)),_mm256_mul_pd(q_acc_6_2,src_dof_2)),_mm256_mul_pd(q_acc_6_3,src_dof_3)),_mm256_mul_pd(q_acc_6_4,src_dof_4)),_mm256_mul_pd(q_acc_6_5,src_dof_5)),_mm256_mul_pd(q_acc_6_6,src_dof_6)),_mm256_mul_pd(q_acc_6_7,src_dof_7)),_mm256_mul_pd(q_acc_6_8,src_dof_8)),_mm256_mul_pd(q_acc_6_9,src_dof_9));
+                const __m256d elMatVec_7 = _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_7_0,src_dof_0),_mm256_mul_pd(q_acc_7_1,src_dof_1)),_mm256_mul_pd(q_acc_7_2,src_dof_2)),_mm256_mul_pd(q_acc_7_3,src_dof_3)),_mm256_mul_pd(q_acc_7_4,src_dof_4)),_mm256_mul_pd(q_acc_7_5,src_dof_5)),_mm256_mul_pd(q_acc_7_6,src_dof_6)),_mm256_mul_pd(q_acc_7_7,src_dof_7)),_mm256_mul_pd(q_acc_7_8,src_dof_8)),_mm256_mul_pd(q_acc_7_9,src_dof_9));
+                const __m256d elMatVec_8 = _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_8_0,src_dof_0),_mm256_mul_pd(q_acc_8_1,src_dof_1)),_mm256_mul_pd(q_acc_8_2,src_dof_2)),_mm256_mul_pd(q_acc_8_3,src_dof_3)),_mm256_mul_pd(q_acc_8_4,src_dof_4)),_mm256_mul_pd(q_acc_8_5,src_dof_5)),_mm256_mul_pd(q_acc_8_6,src_dof_6)),_mm256_mul_pd(q_acc_8_7,src_dof_7)),_mm256_mul_pd(q_acc_8_8,src_dof_8)),_mm256_mul_pd(q_acc_8_9,src_dof_9));
+                const __m256d elMatVec_9 = _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_9_0,src_dof_0),_mm256_mul_pd(q_acc_9_1,src_dof_1)),_mm256_mul_pd(q_acc_9_2,src_dof_2)),_mm256_mul_pd(q_acc_9_3,src_dof_3)),_mm256_mul_pd(q_acc_9_4,src_dof_4)),_mm256_mul_pd(q_acc_9_5,src_dof_5)),_mm256_mul_pd(q_acc_9_6,src_dof_6)),_mm256_mul_pd(q_acc_9_7,src_dof_7)),_mm256_mul_pd(q_acc_9_8,src_dof_8)),_mm256_mul_pd(q_acc_9_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_6,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_7,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_8,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_9,_mm256_loadu_pd(& _data_dstEdge[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))])));
+             }
+             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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+                real_t q_acc_4_0 = 0.0;
+                real_t q_acc_4_1 = 0.0;
+                real_t q_acc_4_2 = 0.0;
+                real_t q_acc_4_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_4_5 = 0.0;
+                real_t q_acc_4_6 = 0.0;
+                real_t q_acc_4_7 = 0.0;
+                real_t q_acc_4_8 = 0.0;
+                real_t q_acc_4_9 = 0.0;
+                real_t q_acc_5_0 = 0.0;
+                real_t q_acc_5_1 = 0.0;
+                real_t q_acc_5_2 = 0.0;
+                real_t q_acc_5_3 = 0.0;
+                real_t q_acc_5_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_5_6 = 0.0;
+                real_t q_acc_5_7 = 0.0;
+                real_t q_acc_5_8 = 0.0;
+                real_t q_acc_5_9 = 0.0;
+                real_t q_acc_6_0 = 0.0;
+                real_t q_acc_6_1 = 0.0;
+                real_t q_acc_6_2 = 0.0;
+                real_t q_acc_6_3 = 0.0;
+                real_t q_acc_6_4 = 0.0;
+                real_t q_acc_6_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_6_7 = 0.0;
+                real_t q_acc_6_8 = 0.0;
+                real_t q_acc_6_9 = 0.0;
+                real_t q_acc_7_0 = 0.0;
+                real_t q_acc_7_1 = 0.0;
+                real_t q_acc_7_2 = 0.0;
+                real_t q_acc_7_3 = 0.0;
+                real_t q_acc_7_4 = 0.0;
+                real_t q_acc_7_5 = 0.0;
+                real_t q_acc_7_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_7_8 = 0.0;
+                real_t q_acc_7_9 = 0.0;
+                real_t q_acc_8_0 = 0.0;
+                real_t q_acc_8_1 = 0.0;
+                real_t q_acc_8_2 = 0.0;
+                real_t q_acc_8_3 = 0.0;
+                real_t q_acc_8_4 = 0.0;
+                real_t q_acc_8_5 = 0.0;
+                real_t q_acc_8_6 = 0.0;
+                real_t q_acc_8_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_8_9 = 0.0;
+                real_t q_acc_9_0 = 0.0;
+                real_t q_acc_9_1 = 0.0;
+                real_t q_acc_9_2 = 0.0;
+                real_t q_acc_9_3 = 0.0;
+                real_t q_acc_9_4 = 0.0;
+                real_t q_acc_9_5 = 0.0;
+                real_t q_acc_9_6 = 0.0;
+                real_t q_acc_9_7 = 0.0;
+                real_t q_acc_9_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                   const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_4);
+                   const real_t tmp_qloop_26 = abs_det_jac_affine_WHITE_UP*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_27 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_28 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_24*tmp_qloop_27;
+                   const real_t tmp_qloop_29 = tmp_qloop_25*tmp_qloop_26;
+                   const real_t tmp_qloop_30 = tmp_qloop_28*tmp_qloop_29;
+                   const real_t tmp_qloop_31 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_32 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_22*tmp_qloop_31 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_23*tmp_qloop_31 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_24*tmp_qloop_31;
+                   const real_t tmp_qloop_33 = tmp_qloop_29*tmp_qloop_32;
+                   const real_t tmp_qloop_34 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_35 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_22*tmp_qloop_34 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_23*tmp_qloop_34 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_24*tmp_qloop_34;
+                   const real_t tmp_qloop_36 = tmp_qloop_29*tmp_qloop_35;
+                   const real_t tmp_qloop_37 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_38 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_39 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_40 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_41 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_42 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_43 = tmp_qloop_22*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_23*(tmp_qloop_39 + tmp_qloop_40) + tmp_qloop_24*(tmp_qloop_41 + tmp_qloop_42);
+                   const real_t tmp_qloop_44 = tmp_qloop_29*tmp_qloop_43;
+                   const real_t tmp_qloop_45 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_47 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_48 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_49 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_50 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_51 = tmp_qloop_22*(tmp_qloop_45 + tmp_qloop_46) + tmp_qloop_23*(tmp_qloop_47 + tmp_qloop_48) + tmp_qloop_24*(tmp_qloop_49 + tmp_qloop_50);
+                   const real_t tmp_qloop_52 = tmp_qloop_29*tmp_qloop_51;
+                   const real_t tmp_qloop_53 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_54 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_55 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_56 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_57 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_58 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_59 = tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58);
+                   const real_t tmp_qloop_60 = tmp_qloop_29*tmp_qloop_59;
+                   const real_t tmp_qloop_61 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_62 = tmp_qloop_22*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_61 - tmp_qloop_38 - tmp_qloop_46) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_61 - tmp_qloop_40 - tmp_qloop_48) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_61 - tmp_qloop_42 - tmp_qloop_50);
+                   const real_t tmp_qloop_63 = tmp_qloop_29*tmp_qloop_62;
+                   const real_t tmp_qloop_64 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_65 = -tmp_qloop_1 - tmp_qloop_64 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_66 = tmp_qloop_22*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_65 - tmp_qloop_37 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_65 - tmp_qloop_39 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_65 - tmp_qloop_41 - tmp_qloop_58);
+                   const real_t tmp_qloop_67 = tmp_qloop_29*tmp_qloop_66;
+                   const real_t tmp_qloop_68 = -tmp_qloop_2 - tmp_qloop_64 - 8.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_69 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_53) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_55) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_57);
+                   const real_t tmp_qloop_70 = tmp_qloop_29*tmp_qloop_69;
+                   const real_t tmp_qloop_71 = tmp_qloop_26*tmp_qloop_28;
+                   const real_t tmp_qloop_72 = tmp_qloop_32*tmp_qloop_71;
+                   const real_t tmp_qloop_73 = tmp_qloop_35*tmp_qloop_71;
+                   const real_t tmp_qloop_74 = tmp_qloop_43*tmp_qloop_71;
+                   const real_t tmp_qloop_75 = tmp_qloop_51*tmp_qloop_71;
+                   const real_t tmp_qloop_76 = tmp_qloop_59*tmp_qloop_71;
+                   const real_t tmp_qloop_77 = tmp_qloop_62*tmp_qloop_71;
+                   const real_t tmp_qloop_78 = tmp_qloop_66*tmp_qloop_71;
+                   const real_t tmp_qloop_79 = tmp_qloop_69*tmp_qloop_71;
+                   const real_t tmp_qloop_80 = tmp_qloop_26*tmp_qloop_32;
+                   const real_t tmp_qloop_81 = tmp_qloop_35*tmp_qloop_80;
+                   const real_t tmp_qloop_82 = tmp_qloop_43*tmp_qloop_80;
+                   const real_t tmp_qloop_83 = tmp_qloop_51*tmp_qloop_80;
+                   const real_t tmp_qloop_84 = tmp_qloop_59*tmp_qloop_80;
+                   const real_t tmp_qloop_85 = tmp_qloop_62*tmp_qloop_80;
+                   const real_t tmp_qloop_86 = tmp_qloop_66*tmp_qloop_80;
+                   const real_t tmp_qloop_87 = tmp_qloop_69*tmp_qloop_80;
+                   const real_t tmp_qloop_88 = tmp_qloop_26*tmp_qloop_35;
+                   const real_t tmp_qloop_89 = tmp_qloop_43*tmp_qloop_88;
+                   const real_t tmp_qloop_90 = tmp_qloop_51*tmp_qloop_88;
+                   const real_t tmp_qloop_91 = tmp_qloop_59*tmp_qloop_88;
+                   const real_t tmp_qloop_92 = tmp_qloop_62*tmp_qloop_88;
+                   const real_t tmp_qloop_93 = tmp_qloop_66*tmp_qloop_88;
+                   const real_t tmp_qloop_94 = tmp_qloop_69*tmp_qloop_88;
+                   const real_t tmp_qloop_95 = tmp_qloop_26*tmp_qloop_43;
+                   const real_t tmp_qloop_96 = tmp_qloop_51*tmp_qloop_95;
+                   const real_t tmp_qloop_97 = tmp_qloop_59*tmp_qloop_95;
+                   const real_t tmp_qloop_98 = tmp_qloop_62*tmp_qloop_95;
+                   const real_t tmp_qloop_99 = tmp_qloop_66*tmp_qloop_95;
+                   const real_t tmp_qloop_100 = tmp_qloop_69*tmp_qloop_95;
+                   const real_t tmp_qloop_101 = tmp_qloop_26*tmp_qloop_51;
+                   const real_t tmp_qloop_102 = tmp_qloop_101*tmp_qloop_59;
+                   const real_t tmp_qloop_103 = tmp_qloop_101*tmp_qloop_62;
+                   const real_t tmp_qloop_104 = tmp_qloop_101*tmp_qloop_66;
+                   const real_t tmp_qloop_105 = tmp_qloop_101*tmp_qloop_69;
+                   const real_t tmp_qloop_106 = tmp_qloop_26*tmp_qloop_59;
+                   const real_t tmp_qloop_107 = tmp_qloop_106*tmp_qloop_62;
+                   const real_t tmp_qloop_108 = tmp_qloop_106*tmp_qloop_66;
+                   const real_t tmp_qloop_109 = tmp_qloop_106*tmp_qloop_69;
+                   const real_t tmp_qloop_110 = tmp_qloop_26*tmp_qloop_62;
+                   const real_t tmp_qloop_111 = tmp_qloop_110*tmp_qloop_66;
+                   const real_t tmp_qloop_112 = tmp_qloop_110*tmp_qloop_69;
+                   const real_t tmp_qloop_113 = tmp_qloop_26*tmp_qloop_66*tmp_qloop_69;
+                   const real_t q_tmp_0_0 = (tmp_qloop_25*tmp_qloop_25)*tmp_qloop_26;
+                   const real_t q_tmp_0_1 = tmp_qloop_30;
+                   const real_t q_tmp_0_2 = tmp_qloop_33;
+                   const real_t q_tmp_0_3 = tmp_qloop_36;
+                   const real_t q_tmp_0_4 = tmp_qloop_44;
+                   const real_t q_tmp_0_5 = tmp_qloop_52;
+                   const real_t q_tmp_0_6 = tmp_qloop_60;
+                   const real_t q_tmp_0_7 = tmp_qloop_63;
+                   const real_t q_tmp_0_8 = tmp_qloop_67;
+                   const real_t q_tmp_0_9 = tmp_qloop_70;
+                   const real_t q_tmp_1_0 = tmp_qloop_30;
+                   const real_t q_tmp_1_1 = tmp_qloop_26*(tmp_qloop_28*tmp_qloop_28);
+                   const real_t q_tmp_1_2 = tmp_qloop_72;
+                   const real_t q_tmp_1_3 = tmp_qloop_73;
+                   const real_t q_tmp_1_4 = tmp_qloop_74;
+                   const real_t q_tmp_1_5 = tmp_qloop_75;
+                   const real_t q_tmp_1_6 = tmp_qloop_76;
+                   const real_t q_tmp_1_7 = tmp_qloop_77;
+                   const real_t q_tmp_1_8 = tmp_qloop_78;
+                   const real_t q_tmp_1_9 = tmp_qloop_79;
+                   const real_t q_tmp_2_0 = tmp_qloop_33;
+                   const real_t q_tmp_2_1 = tmp_qloop_72;
+                   const real_t q_tmp_2_2 = tmp_qloop_26*(tmp_qloop_32*tmp_qloop_32);
+                   const real_t q_tmp_2_3 = tmp_qloop_81;
+                   const real_t q_tmp_2_4 = tmp_qloop_82;
+                   const real_t q_tmp_2_5 = tmp_qloop_83;
+                   const real_t q_tmp_2_6 = tmp_qloop_84;
+                   const real_t q_tmp_2_7 = tmp_qloop_85;
+                   const real_t q_tmp_2_8 = tmp_qloop_86;
+                   const real_t q_tmp_2_9 = tmp_qloop_87;
+                   const real_t q_tmp_3_0 = tmp_qloop_36;
+                   const real_t q_tmp_3_1 = tmp_qloop_73;
+                   const real_t q_tmp_3_2 = tmp_qloop_81;
+                   const real_t q_tmp_3_3 = tmp_qloop_26*(tmp_qloop_35*tmp_qloop_35);
+                   const real_t q_tmp_3_4 = tmp_qloop_89;
+                   const real_t q_tmp_3_5 = tmp_qloop_90;
+                   const real_t q_tmp_3_6 = tmp_qloop_91;
+                   const real_t q_tmp_3_7 = tmp_qloop_92;
+                   const real_t q_tmp_3_8 = tmp_qloop_93;
+                   const real_t q_tmp_3_9 = tmp_qloop_94;
+                   const real_t q_tmp_4_0 = tmp_qloop_44;
+                   const real_t q_tmp_4_1 = tmp_qloop_74;
+                   const real_t q_tmp_4_2 = tmp_qloop_82;
+                   const real_t q_tmp_4_3 = tmp_qloop_89;
+                   const real_t q_tmp_4_4 = tmp_qloop_26*(tmp_qloop_43*tmp_qloop_43);
+                   const real_t q_tmp_4_5 = tmp_qloop_96;
+                   const real_t q_tmp_4_6 = tmp_qloop_97;
+                   const real_t q_tmp_4_7 = tmp_qloop_98;
+                   const real_t q_tmp_4_8 = tmp_qloop_99;
+                   const real_t q_tmp_4_9 = tmp_qloop_100;
+                   const real_t q_tmp_5_0 = tmp_qloop_52;
+                   const real_t q_tmp_5_1 = tmp_qloop_75;
+                   const real_t q_tmp_5_2 = tmp_qloop_83;
+                   const real_t q_tmp_5_3 = tmp_qloop_90;
+                   const real_t q_tmp_5_4 = tmp_qloop_96;
+                   const real_t q_tmp_5_5 = tmp_qloop_26*(tmp_qloop_51*tmp_qloop_51);
+                   const real_t q_tmp_5_6 = tmp_qloop_102;
+                   const real_t q_tmp_5_7 = tmp_qloop_103;
+                   const real_t q_tmp_5_8 = tmp_qloop_104;
+                   const real_t q_tmp_5_9 = tmp_qloop_105;
+                   const real_t q_tmp_6_0 = tmp_qloop_60;
+                   const real_t q_tmp_6_1 = tmp_qloop_76;
+                   const real_t q_tmp_6_2 = tmp_qloop_84;
+                   const real_t q_tmp_6_3 = tmp_qloop_91;
+                   const real_t q_tmp_6_4 = tmp_qloop_97;
+                   const real_t q_tmp_6_5 = tmp_qloop_102;
+                   const real_t q_tmp_6_6 = tmp_qloop_26*(tmp_qloop_59*tmp_qloop_59);
+                   const real_t q_tmp_6_7 = tmp_qloop_107;
+                   const real_t q_tmp_6_8 = tmp_qloop_108;
+                   const real_t q_tmp_6_9 = tmp_qloop_109;
+                   const real_t q_tmp_7_0 = tmp_qloop_63;
+                   const real_t q_tmp_7_1 = tmp_qloop_77;
+                   const real_t q_tmp_7_2 = tmp_qloop_85;
+                   const real_t q_tmp_7_3 = tmp_qloop_92;
+                   const real_t q_tmp_7_4 = tmp_qloop_98;
+                   const real_t q_tmp_7_5 = tmp_qloop_103;
+                   const real_t q_tmp_7_6 = tmp_qloop_107;
+                   const real_t q_tmp_7_7 = tmp_qloop_26*(tmp_qloop_62*tmp_qloop_62);
+                   const real_t q_tmp_7_8 = tmp_qloop_111;
+                   const real_t q_tmp_7_9 = tmp_qloop_112;
+                   const real_t q_tmp_8_0 = tmp_qloop_67;
+                   const real_t q_tmp_8_1 = tmp_qloop_78;
+                   const real_t q_tmp_8_2 = tmp_qloop_86;
+                   const real_t q_tmp_8_3 = tmp_qloop_93;
+                   const real_t q_tmp_8_4 = tmp_qloop_99;
+                   const real_t q_tmp_8_5 = tmp_qloop_104;
+                   const real_t q_tmp_8_6 = tmp_qloop_108;
+                   const real_t q_tmp_8_7 = tmp_qloop_111;
+                   const real_t q_tmp_8_8 = tmp_qloop_26*(tmp_qloop_66*tmp_qloop_66);
+                   const real_t q_tmp_8_9 = tmp_qloop_113;
+                   const real_t q_tmp_9_0 = tmp_qloop_70;
+                   const real_t q_tmp_9_1 = tmp_qloop_79;
+                   const real_t q_tmp_9_2 = tmp_qloop_87;
+                   const real_t q_tmp_9_3 = tmp_qloop_94;
+                   const real_t q_tmp_9_4 = tmp_qloop_100;
+                   const real_t q_tmp_9_5 = tmp_qloop_105;
+                   const real_t q_tmp_9_6 = tmp_qloop_109;
+                   const real_t q_tmp_9_7 = tmp_qloop_112;
+                   const real_t q_tmp_9_8 = tmp_qloop_113;
+                   const real_t q_tmp_9_9 = tmp_qloop_26*(tmp_qloop_69*tmp_qloop_69);
+                   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;
+                   q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                   q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                   q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                   q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                   q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                   q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                   q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                   q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                   q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                   q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                   q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                   q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                   q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                   q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                   q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                   q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                   q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                   q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                   q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                   q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                   q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                   q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                   q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                   q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                   q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                   q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                   q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                   q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                   q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                   q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                   q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                   q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                   q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                   q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                   q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                   q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                   q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                   q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                   q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                   q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                   q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                   q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                   q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                   q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                   q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                   q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                   q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                   q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                   q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+                const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+                const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+                const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+                const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+                const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+                const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+                _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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))] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_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 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_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 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_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 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN;
+       const real_t tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN);
+       const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN);
+       const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN);
+       const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN);
+       const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN);
+       {
+          /* CellType.WHITE_DOWN */
+          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 cp_times_delta_dof_0 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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);
+                __m256d q_acc_4_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_1),_mm256_mul_pd(tmp_qloop_13,ux_dof_2)),_mm256_mul_pd(tmp_qloop_16,ux_dof_3)),_mm256_mul_pd(tmp_qloop_17,ux_dof_7)),_mm256_mul_pd(tmp_qloop_18,ux_dof_8)),_mm256_mul_pd(tmp_qloop_20,ux_dof_9)),_mm256_mul_pd(tmp_qloop_21,ux_dof_0)),_mm256_mul_pd(tmp_qloop_5,ux_dof_6)),_mm256_mul_pd(tmp_qloop_6,ux_dof_5)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_1),_mm256_mul_pd(tmp_qloop_13,uy_dof_2)),_mm256_mul_pd(tmp_qloop_16,uy_dof_3)),_mm256_mul_pd(tmp_qloop_17,uy_dof_7)),_mm256_mul_pd(tmp_qloop_18,uy_dof_8)),_mm256_mul_pd(tmp_qloop_20,uy_dof_9)),_mm256_mul_pd(tmp_qloop_21,uy_dof_0)),_mm256_mul_pd(tmp_qloop_5,uy_dof_6)),_mm256_mul_pd(tmp_qloop_6,uy_dof_5)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_1),_mm256_mul_pd(tmp_qloop_13,uz_dof_2)),_mm256_mul_pd(tmp_qloop_16,uz_dof_3)),_mm256_mul_pd(tmp_qloop_17,uz_dof_7)),_mm256_mul_pd(tmp_qloop_18,uz_dof_8)),_mm256_mul_pd(tmp_qloop_20,uz_dof_9)),_mm256_mul_pd(tmp_qloop_21,uz_dof_0)),_mm256_mul_pd(tmp_qloop_5,uz_dof_6)),_mm256_mul_pd(tmp_qloop_6,uz_dof_5)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4));
+                   const __m256d tmp_qloop_25 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))));
+                   const __m256d tmp_qloop_26 = _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(cp_times_delta_dof_0,tmp_qloop_21),_mm256_mul_pd(cp_times_delta_dof_1,tmp_qloop_10)),_mm256_mul_pd(cp_times_delta_dof_2,tmp_qloop_13)),_mm256_mul_pd(cp_times_delta_dof_3,tmp_qloop_16)),_mm256_mul_pd(cp_times_delta_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_times_delta_dof_5,tmp_qloop_6)),_mm256_mul_pd(cp_times_delta_dof_6,tmp_qloop_5)),_mm256_mul_pd(cp_times_delta_dof_7,tmp_qloop_17)),_mm256_mul_pd(cp_times_delta_dof_8,tmp_qloop_18)),_mm256_mul_pd(cp_times_delta_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN));
+                   const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)));
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_26);
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_28,tmp_qloop_29);
+                   const __m256d tmp_qloop_31 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_32 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_31),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_31),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_31),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_32);
+                   const __m256d tmp_qloop_34 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_35 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_34),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_34),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_34),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_35);
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_43 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_43);
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_47 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_48 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_51 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_47,tmp_qloop_48))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_49,tmp_qloop_50)));
+                   const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_51);
+                   const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_54 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_55 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_56 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_58 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_53,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_55,tmp_qloop_56))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_57,tmp_qloop_58)));
+                   const __m256d tmp_qloop_60 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_59);
+                   const __m256d tmp_qloop_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_62 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))));
+                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_62);
+                   const __m256d tmp_qloop_64 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_65 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_66 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_54,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_65,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_65,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_65,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)))));
+                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_66);
+                   const __m256d tmp_qloop_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)))));
+                   const __m256d tmp_qloop_70 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_69);
+                   const __m256d tmp_qloop_71 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_28);
+                   const __m256d tmp_qloop_72 = _mm256_mul_pd(tmp_qloop_32,tmp_qloop_71);
+                   const __m256d tmp_qloop_73 = _mm256_mul_pd(tmp_qloop_35,tmp_qloop_71);
+                   const __m256d tmp_qloop_74 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_71);
+                   const __m256d tmp_qloop_75 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_71);
+                   const __m256d tmp_qloop_76 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_71);
+                   const __m256d tmp_qloop_77 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_71);
+                   const __m256d tmp_qloop_78 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_71);
+                   const __m256d tmp_qloop_79 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_71);
+                   const __m256d tmp_qloop_80 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_32);
+                   const __m256d tmp_qloop_81 = _mm256_mul_pd(tmp_qloop_35,tmp_qloop_80);
+                   const __m256d tmp_qloop_82 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_80);
+                   const __m256d tmp_qloop_83 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_80);
+                   const __m256d tmp_qloop_84 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_80);
+                   const __m256d tmp_qloop_85 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_80);
+                   const __m256d tmp_qloop_86 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_80);
+                   const __m256d tmp_qloop_87 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_80);
+                   const __m256d tmp_qloop_88 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_35);
+                   const __m256d tmp_qloop_89 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_88);
+                   const __m256d tmp_qloop_90 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_88);
+                   const __m256d tmp_qloop_91 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_88);
+                   const __m256d tmp_qloop_92 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_88);
+                   const __m256d tmp_qloop_93 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_88);
+                   const __m256d tmp_qloop_94 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_88);
+                   const __m256d tmp_qloop_95 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_43);
+                   const __m256d tmp_qloop_96 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_95);
+                   const __m256d tmp_qloop_97 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_95);
+                   const __m256d tmp_qloop_98 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_95);
+                   const __m256d tmp_qloop_99 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_95);
+                   const __m256d tmp_qloop_100 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_95);
+                   const __m256d tmp_qloop_101 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_51);
+                   const __m256d tmp_qloop_102 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_59);
+                   const __m256d tmp_qloop_103 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_62);
+                   const __m256d tmp_qloop_104 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_66);
+                   const __m256d tmp_qloop_105 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_69);
+                   const __m256d tmp_qloop_106 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_59);
+                   const __m256d tmp_qloop_107 = _mm256_mul_pd(tmp_qloop_106,tmp_qloop_62);
+                   const __m256d tmp_qloop_108 = _mm256_mul_pd(tmp_qloop_106,tmp_qloop_66);
+                   const __m256d tmp_qloop_109 = _mm256_mul_pd(tmp_qloop_106,tmp_qloop_69);
+                   const __m256d tmp_qloop_110 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_62);
+                   const __m256d tmp_qloop_111 = _mm256_mul_pd(tmp_qloop_110,tmp_qloop_66);
+                   const __m256d tmp_qloop_112 = _mm256_mul_pd(tmp_qloop_110,tmp_qloop_69);
+                   const __m256d tmp_qloop_113 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_26,tmp_qloop_66),tmp_qloop_69);
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_25,tmp_qloop_25),tmp_qloop_26);
+                   const __m256d q_tmp_0_1 = tmp_qloop_30;
+                   const __m256d q_tmp_0_2 = tmp_qloop_33;
+                   const __m256d q_tmp_0_3 = tmp_qloop_36;
+                   const __m256d q_tmp_0_4 = tmp_qloop_44;
+                   const __m256d q_tmp_0_5 = tmp_qloop_52;
+                   const __m256d q_tmp_0_6 = tmp_qloop_60;
+                   const __m256d q_tmp_0_7 = tmp_qloop_63;
+                   const __m256d q_tmp_0_8 = tmp_qloop_67;
+                   const __m256d q_tmp_0_9 = tmp_qloop_70;
+                   const __m256d q_tmp_1_0 = tmp_qloop_30;
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_28,tmp_qloop_28));
+                   const __m256d q_tmp_1_2 = tmp_qloop_72;
+                   const __m256d q_tmp_1_3 = tmp_qloop_73;
+                   const __m256d q_tmp_1_4 = tmp_qloop_74;
+                   const __m256d q_tmp_1_5 = tmp_qloop_75;
+                   const __m256d q_tmp_1_6 = tmp_qloop_76;
+                   const __m256d q_tmp_1_7 = tmp_qloop_77;
+                   const __m256d q_tmp_1_8 = tmp_qloop_78;
+                   const __m256d q_tmp_1_9 = tmp_qloop_79;
+                   const __m256d q_tmp_2_0 = tmp_qloop_33;
+                   const __m256d q_tmp_2_1 = tmp_qloop_72;
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_32,tmp_qloop_32));
+                   const __m256d q_tmp_2_3 = tmp_qloop_81;
+                   const __m256d q_tmp_2_4 = tmp_qloop_82;
+                   const __m256d q_tmp_2_5 = tmp_qloop_83;
+                   const __m256d q_tmp_2_6 = tmp_qloop_84;
+                   const __m256d q_tmp_2_7 = tmp_qloop_85;
+                   const __m256d q_tmp_2_8 = tmp_qloop_86;
+                   const __m256d q_tmp_2_9 = tmp_qloop_87;
+                   const __m256d q_tmp_3_0 = tmp_qloop_36;
+                   const __m256d q_tmp_3_1 = tmp_qloop_73;
+                   const __m256d q_tmp_3_2 = tmp_qloop_81;
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_35,tmp_qloop_35));
+                   const __m256d q_tmp_3_4 = tmp_qloop_89;
+                   const __m256d q_tmp_3_5 = tmp_qloop_90;
+                   const __m256d q_tmp_3_6 = tmp_qloop_91;
+                   const __m256d q_tmp_3_7 = tmp_qloop_92;
+                   const __m256d q_tmp_3_8 = tmp_qloop_93;
+                   const __m256d q_tmp_3_9 = tmp_qloop_94;
+                   const __m256d q_tmp_4_0 = tmp_qloop_44;
+                   const __m256d q_tmp_4_1 = tmp_qloop_74;
+                   const __m256d q_tmp_4_2 = tmp_qloop_82;
+                   const __m256d q_tmp_4_3 = tmp_qloop_89;
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_43,tmp_qloop_43));
+                   const __m256d q_tmp_4_5 = tmp_qloop_96;
+                   const __m256d q_tmp_4_6 = tmp_qloop_97;
+                   const __m256d q_tmp_4_7 = tmp_qloop_98;
+                   const __m256d q_tmp_4_8 = tmp_qloop_99;
+                   const __m256d q_tmp_4_9 = tmp_qloop_100;
+                   const __m256d q_tmp_5_0 = tmp_qloop_52;
+                   const __m256d q_tmp_5_1 = tmp_qloop_75;
+                   const __m256d q_tmp_5_2 = tmp_qloop_83;
+                   const __m256d q_tmp_5_3 = tmp_qloop_90;
+                   const __m256d q_tmp_5_4 = tmp_qloop_96;
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_51,tmp_qloop_51));
+                   const __m256d q_tmp_5_6 = tmp_qloop_102;
+                   const __m256d q_tmp_5_7 = tmp_qloop_103;
+                   const __m256d q_tmp_5_8 = tmp_qloop_104;
+                   const __m256d q_tmp_5_9 = tmp_qloop_105;
+                   const __m256d q_tmp_6_0 = tmp_qloop_60;
+                   const __m256d q_tmp_6_1 = tmp_qloop_76;
+                   const __m256d q_tmp_6_2 = tmp_qloop_84;
+                   const __m256d q_tmp_6_3 = tmp_qloop_91;
+                   const __m256d q_tmp_6_4 = tmp_qloop_97;
+                   const __m256d q_tmp_6_5 = tmp_qloop_102;
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_59,tmp_qloop_59));
+                   const __m256d q_tmp_6_7 = tmp_qloop_107;
+                   const __m256d q_tmp_6_8 = tmp_qloop_108;
+                   const __m256d q_tmp_6_9 = tmp_qloop_109;
+                   const __m256d q_tmp_7_0 = tmp_qloop_63;
+                   const __m256d q_tmp_7_1 = tmp_qloop_77;
+                   const __m256d q_tmp_7_2 = tmp_qloop_85;
+                   const __m256d q_tmp_7_3 = tmp_qloop_92;
+                   const __m256d q_tmp_7_4 = tmp_qloop_98;
+                   const __m256d q_tmp_7_5 = tmp_qloop_103;
+                   const __m256d q_tmp_7_6 = tmp_qloop_107;
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_62,tmp_qloop_62));
+                   const __m256d q_tmp_7_8 = tmp_qloop_111;
+                   const __m256d q_tmp_7_9 = tmp_qloop_112;
+                   const __m256d q_tmp_8_0 = tmp_qloop_67;
+                   const __m256d q_tmp_8_1 = tmp_qloop_78;
+                   const __m256d q_tmp_8_2 = tmp_qloop_86;
+                   const __m256d q_tmp_8_3 = tmp_qloop_93;
+                   const __m256d q_tmp_8_4 = tmp_qloop_99;
+                   const __m256d q_tmp_8_5 = tmp_qloop_104;
+                   const __m256d q_tmp_8_6 = tmp_qloop_108;
+                   const __m256d q_tmp_8_7 = tmp_qloop_111;
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_66,tmp_qloop_66));
+                   const __m256d q_tmp_8_9 = tmp_qloop_113;
+                   const __m256d q_tmp_9_0 = tmp_qloop_70;
+                   const __m256d q_tmp_9_1 = tmp_qloop_79;
+                   const __m256d q_tmp_9_2 = tmp_qloop_87;
+                   const __m256d q_tmp_9_3 = tmp_qloop_94;
+                   const __m256d q_tmp_9_4 = tmp_qloop_100;
+                   const __m256d q_tmp_9_5 = tmp_qloop_105;
+                   const __m256d q_tmp_9_6 = tmp_qloop_109;
+                   const __m256d q_tmp_9_7 = tmp_qloop_112;
+                   const __m256d q_tmp_9_8 = tmp_qloop_113;
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_69,tmp_qloop_69));
+                   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);
+                   q_acc_4_0 = _mm256_add_pd(q_acc_4_0,q_tmp_4_0);
+                   q_acc_4_1 = _mm256_add_pd(q_acc_4_1,q_tmp_4_1);
+                   q_acc_4_2 = _mm256_add_pd(q_acc_4_2,q_tmp_4_2);
+                   q_acc_4_3 = _mm256_add_pd(q_acc_4_3,q_tmp_4_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5);
+                   q_acc_4_6 = _mm256_add_pd(q_acc_4_6,q_tmp_4_6);
+                   q_acc_4_7 = _mm256_add_pd(q_acc_4_7,q_tmp_4_7);
+                   q_acc_4_8 = _mm256_add_pd(q_acc_4_8,q_tmp_4_8);
+                   q_acc_4_9 = _mm256_add_pd(q_acc_4_9,q_tmp_4_9);
+                   q_acc_5_0 = _mm256_add_pd(q_acc_5_0,q_tmp_5_0);
+                   q_acc_5_1 = _mm256_add_pd(q_acc_5_1,q_tmp_5_1);
+                   q_acc_5_2 = _mm256_add_pd(q_acc_5_2,q_tmp_5_2);
+                   q_acc_5_3 = _mm256_add_pd(q_acc_5_3,q_tmp_5_3);
+                   q_acc_5_4 = _mm256_add_pd(q_acc_5_4,q_tmp_5_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_5_6 = _mm256_add_pd(q_acc_5_6,q_tmp_5_6);
+                   q_acc_5_7 = _mm256_add_pd(q_acc_5_7,q_tmp_5_7);
+                   q_acc_5_8 = _mm256_add_pd(q_acc_5_8,q_tmp_5_8);
+                   q_acc_5_9 = _mm256_add_pd(q_acc_5_9,q_tmp_5_9);
+                   q_acc_6_0 = _mm256_add_pd(q_acc_6_0,q_tmp_6_0);
+                   q_acc_6_1 = _mm256_add_pd(q_acc_6_1,q_tmp_6_1);
+                   q_acc_6_2 = _mm256_add_pd(q_acc_6_2,q_tmp_6_2);
+                   q_acc_6_3 = _mm256_add_pd(q_acc_6_3,q_tmp_6_3);
+                   q_acc_6_4 = _mm256_add_pd(q_acc_6_4,q_tmp_6_4);
+                   q_acc_6_5 = _mm256_add_pd(q_acc_6_5,q_tmp_6_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_6_7 = _mm256_add_pd(q_acc_6_7,q_tmp_6_7);
+                   q_acc_6_8 = _mm256_add_pd(q_acc_6_8,q_tmp_6_8);
+                   q_acc_6_9 = _mm256_add_pd(q_acc_6_9,q_tmp_6_9);
+                   q_acc_7_0 = _mm256_add_pd(q_acc_7_0,q_tmp_7_0);
+                   q_acc_7_1 = _mm256_add_pd(q_acc_7_1,q_tmp_7_1);
+                   q_acc_7_2 = _mm256_add_pd(q_acc_7_2,q_tmp_7_2);
+                   q_acc_7_3 = _mm256_add_pd(q_acc_7_3,q_tmp_7_3);
+                   q_acc_7_4 = _mm256_add_pd(q_acc_7_4,q_tmp_7_4);
+                   q_acc_7_5 = _mm256_add_pd(q_acc_7_5,q_tmp_7_5);
+                   q_acc_7_6 = _mm256_add_pd(q_acc_7_6,q_tmp_7_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_7_8 = _mm256_add_pd(q_acc_7_8,q_tmp_7_8);
+                   q_acc_7_9 = _mm256_add_pd(q_acc_7_9,q_tmp_7_9);
+                   q_acc_8_0 = _mm256_add_pd(q_acc_8_0,q_tmp_8_0);
+                   q_acc_8_1 = _mm256_add_pd(q_acc_8_1,q_tmp_8_1);
+                   q_acc_8_2 = _mm256_add_pd(q_acc_8_2,q_tmp_8_2);
+                   q_acc_8_3 = _mm256_add_pd(q_acc_8_3,q_tmp_8_3);
+                   q_acc_8_4 = _mm256_add_pd(q_acc_8_4,q_tmp_8_4);
+                   q_acc_8_5 = _mm256_add_pd(q_acc_8_5,q_tmp_8_5);
+                   q_acc_8_6 = _mm256_add_pd(q_acc_8_6,q_tmp_8_6);
+                   q_acc_8_7 = _mm256_add_pd(q_acc_8_7,q_tmp_8_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_8_9 = _mm256_add_pd(q_acc_8_9,q_tmp_8_9);
+                   q_acc_9_0 = _mm256_add_pd(q_acc_9_0,q_tmp_9_0);
+                   q_acc_9_1 = _mm256_add_pd(q_acc_9_1,q_tmp_9_1);
+                   q_acc_9_2 = _mm256_add_pd(q_acc_9_2,q_tmp_9_2);
+                   q_acc_9_3 = _mm256_add_pd(q_acc_9_3,q_tmp_9_3);
+                   q_acc_9_4 = _mm256_add_pd(q_acc_9_4,q_tmp_9_4);
+                   q_acc_9_5 = _mm256_add_pd(q_acc_9_5,q_tmp_9_5);
+                   q_acc_9_6 = _mm256_add_pd(q_acc_9_6,q_tmp_9_6);
+                   q_acc_9_7 = _mm256_add_pd(q_acc_9_7,q_tmp_9_7);
+                   q_acc_9_8 = _mm256_add_pd(q_acc_9_8,q_tmp_9_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_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));
+                const __m256d elMatVec_4 = _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_4_0,src_dof_0),_mm256_mul_pd(q_acc_4_1,src_dof_1)),_mm256_mul_pd(q_acc_4_2,src_dof_2)),_mm256_mul_pd(q_acc_4_3,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)),_mm256_mul_pd(q_acc_4_6,src_dof_6)),_mm256_mul_pd(q_acc_4_7,src_dof_7)),_mm256_mul_pd(q_acc_4_8,src_dof_8)),_mm256_mul_pd(q_acc_4_9,src_dof_9));
+                const __m256d elMatVec_5 = _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_5_0,src_dof_0),_mm256_mul_pd(q_acc_5_1,src_dof_1)),_mm256_mul_pd(q_acc_5_2,src_dof_2)),_mm256_mul_pd(q_acc_5_3,src_dof_3)),_mm256_mul_pd(q_acc_5_4,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)),_mm256_mul_pd(q_acc_5_6,src_dof_6)),_mm256_mul_pd(q_acc_5_7,src_dof_7)),_mm256_mul_pd(q_acc_5_8,src_dof_8)),_mm256_mul_pd(q_acc_5_9,src_dof_9));
+                const __m256d elMatVec_6 = _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_6_0,src_dof_0),_mm256_mul_pd(q_acc_6_1,src_dof_1)),_mm256_mul_pd(q_acc_6_2,src_dof_2)),_mm256_mul_pd(q_acc_6_3,src_dof_3)),_mm256_mul_pd(q_acc_6_4,src_dof_4)),_mm256_mul_pd(q_acc_6_5,src_dof_5)),_mm256_mul_pd(q_acc_6_6,src_dof_6)),_mm256_mul_pd(q_acc_6_7,src_dof_7)),_mm256_mul_pd(q_acc_6_8,src_dof_8)),_mm256_mul_pd(q_acc_6_9,src_dof_9));
+                const __m256d elMatVec_7 = _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_7_0,src_dof_0),_mm256_mul_pd(q_acc_7_1,src_dof_1)),_mm256_mul_pd(q_acc_7_2,src_dof_2)),_mm256_mul_pd(q_acc_7_3,src_dof_3)),_mm256_mul_pd(q_acc_7_4,src_dof_4)),_mm256_mul_pd(q_acc_7_5,src_dof_5)),_mm256_mul_pd(q_acc_7_6,src_dof_6)),_mm256_mul_pd(q_acc_7_7,src_dof_7)),_mm256_mul_pd(q_acc_7_8,src_dof_8)),_mm256_mul_pd(q_acc_7_9,src_dof_9));
+                const __m256d elMatVec_8 = _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_8_0,src_dof_0),_mm256_mul_pd(q_acc_8_1,src_dof_1)),_mm256_mul_pd(q_acc_8_2,src_dof_2)),_mm256_mul_pd(q_acc_8_3,src_dof_3)),_mm256_mul_pd(q_acc_8_4,src_dof_4)),_mm256_mul_pd(q_acc_8_5,src_dof_5)),_mm256_mul_pd(q_acc_8_6,src_dof_6)),_mm256_mul_pd(q_acc_8_7,src_dof_7)),_mm256_mul_pd(q_acc_8_8,src_dof_8)),_mm256_mul_pd(q_acc_8_9,src_dof_9));
+                const __m256d elMatVec_9 = _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_9_0,src_dof_0),_mm256_mul_pd(q_acc_9_1,src_dof_1)),_mm256_mul_pd(q_acc_9_2,src_dof_2)),_mm256_mul_pd(q_acc_9_3,src_dof_3)),_mm256_mul_pd(q_acc_9_4,src_dof_4)),_mm256_mul_pd(q_acc_9_5,src_dof_5)),_mm256_mul_pd(q_acc_9_6,src_dof_6)),_mm256_mul_pd(q_acc_9_7,src_dof_7)),_mm256_mul_pd(q_acc_9_8,src_dof_8)),_mm256_mul_pd(q_acc_9_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_6,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_7,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_8,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_9,_mm256_loadu_pd(& _data_dstEdge[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])));
+             }
+             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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+                real_t q_acc_4_0 = 0.0;
+                real_t q_acc_4_1 = 0.0;
+                real_t q_acc_4_2 = 0.0;
+                real_t q_acc_4_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_4_5 = 0.0;
+                real_t q_acc_4_6 = 0.0;
+                real_t q_acc_4_7 = 0.0;
+                real_t q_acc_4_8 = 0.0;
+                real_t q_acc_4_9 = 0.0;
+                real_t q_acc_5_0 = 0.0;
+                real_t q_acc_5_1 = 0.0;
+                real_t q_acc_5_2 = 0.0;
+                real_t q_acc_5_3 = 0.0;
+                real_t q_acc_5_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_5_6 = 0.0;
+                real_t q_acc_5_7 = 0.0;
+                real_t q_acc_5_8 = 0.0;
+                real_t q_acc_5_9 = 0.0;
+                real_t q_acc_6_0 = 0.0;
+                real_t q_acc_6_1 = 0.0;
+                real_t q_acc_6_2 = 0.0;
+                real_t q_acc_6_3 = 0.0;
+                real_t q_acc_6_4 = 0.0;
+                real_t q_acc_6_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_6_7 = 0.0;
+                real_t q_acc_6_8 = 0.0;
+                real_t q_acc_6_9 = 0.0;
+                real_t q_acc_7_0 = 0.0;
+                real_t q_acc_7_1 = 0.0;
+                real_t q_acc_7_2 = 0.0;
+                real_t q_acc_7_3 = 0.0;
+                real_t q_acc_7_4 = 0.0;
+                real_t q_acc_7_5 = 0.0;
+                real_t q_acc_7_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_7_8 = 0.0;
+                real_t q_acc_7_9 = 0.0;
+                real_t q_acc_8_0 = 0.0;
+                real_t q_acc_8_1 = 0.0;
+                real_t q_acc_8_2 = 0.0;
+                real_t q_acc_8_3 = 0.0;
+                real_t q_acc_8_4 = 0.0;
+                real_t q_acc_8_5 = 0.0;
+                real_t q_acc_8_6 = 0.0;
+                real_t q_acc_8_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_8_9 = 0.0;
+                real_t q_acc_9_0 = 0.0;
+                real_t q_acc_9_1 = 0.0;
+                real_t q_acc_9_2 = 0.0;
+                real_t q_acc_9_3 = 0.0;
+                real_t q_acc_9_4 = 0.0;
+                real_t q_acc_9_5 = 0.0;
+                real_t q_acc_9_6 = 0.0;
+                real_t q_acc_9_7 = 0.0;
+                real_t q_acc_9_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                   const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_4);
+                   const real_t tmp_qloop_26 = abs_det_jac_affine_WHITE_DOWN*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_27 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_28 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_27;
+                   const real_t tmp_qloop_29 = tmp_qloop_25*tmp_qloop_26;
+                   const real_t tmp_qloop_30 = tmp_qloop_28*tmp_qloop_29;
+                   const real_t tmp_qloop_31 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_32 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_31 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_31 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_31;
+                   const real_t tmp_qloop_33 = tmp_qloop_29*tmp_qloop_32;
+                   const real_t tmp_qloop_34 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_35 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_34 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_34 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_34;
+                   const real_t tmp_qloop_36 = tmp_qloop_29*tmp_qloop_35;
+                   const real_t tmp_qloop_37 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_38 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_39 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_40 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_41 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_42 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_43 = tmp_qloop_22*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_23*(tmp_qloop_39 + tmp_qloop_40) + tmp_qloop_24*(tmp_qloop_41 + tmp_qloop_42);
+                   const real_t tmp_qloop_44 = tmp_qloop_29*tmp_qloop_43;
+                   const real_t tmp_qloop_45 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_47 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_48 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_49 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_50 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_51 = tmp_qloop_22*(tmp_qloop_45 + tmp_qloop_46) + tmp_qloop_23*(tmp_qloop_47 + tmp_qloop_48) + tmp_qloop_24*(tmp_qloop_49 + tmp_qloop_50);
+                   const real_t tmp_qloop_52 = tmp_qloop_29*tmp_qloop_51;
+                   const real_t tmp_qloop_53 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_54 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_55 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_56 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_57 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_58 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_59 = tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58);
+                   const real_t tmp_qloop_60 = tmp_qloop_29*tmp_qloop_59;
+                   const real_t tmp_qloop_61 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_62 = tmp_qloop_22*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_61 - tmp_qloop_38 - tmp_qloop_46) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_61 - tmp_qloop_40 - tmp_qloop_48) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_61 - tmp_qloop_42 - tmp_qloop_50);
+                   const real_t tmp_qloop_63 = tmp_qloop_29*tmp_qloop_62;
+                   const real_t tmp_qloop_64 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_65 = -tmp_qloop_1 - tmp_qloop_64 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_66 = tmp_qloop_22*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_65 - tmp_qloop_37 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_65 - tmp_qloop_39 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_65 - tmp_qloop_41 - tmp_qloop_58);
+                   const real_t tmp_qloop_67 = tmp_qloop_29*tmp_qloop_66;
+                   const real_t tmp_qloop_68 = -tmp_qloop_2 - tmp_qloop_64 - 8.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_69 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_53) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_55) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_57);
+                   const real_t tmp_qloop_70 = tmp_qloop_29*tmp_qloop_69;
+                   const real_t tmp_qloop_71 = tmp_qloop_26*tmp_qloop_28;
+                   const real_t tmp_qloop_72 = tmp_qloop_32*tmp_qloop_71;
+                   const real_t tmp_qloop_73 = tmp_qloop_35*tmp_qloop_71;
+                   const real_t tmp_qloop_74 = tmp_qloop_43*tmp_qloop_71;
+                   const real_t tmp_qloop_75 = tmp_qloop_51*tmp_qloop_71;
+                   const real_t tmp_qloop_76 = tmp_qloop_59*tmp_qloop_71;
+                   const real_t tmp_qloop_77 = tmp_qloop_62*tmp_qloop_71;
+                   const real_t tmp_qloop_78 = tmp_qloop_66*tmp_qloop_71;
+                   const real_t tmp_qloop_79 = tmp_qloop_69*tmp_qloop_71;
+                   const real_t tmp_qloop_80 = tmp_qloop_26*tmp_qloop_32;
+                   const real_t tmp_qloop_81 = tmp_qloop_35*tmp_qloop_80;
+                   const real_t tmp_qloop_82 = tmp_qloop_43*tmp_qloop_80;
+                   const real_t tmp_qloop_83 = tmp_qloop_51*tmp_qloop_80;
+                   const real_t tmp_qloop_84 = tmp_qloop_59*tmp_qloop_80;
+                   const real_t tmp_qloop_85 = tmp_qloop_62*tmp_qloop_80;
+                   const real_t tmp_qloop_86 = tmp_qloop_66*tmp_qloop_80;
+                   const real_t tmp_qloop_87 = tmp_qloop_69*tmp_qloop_80;
+                   const real_t tmp_qloop_88 = tmp_qloop_26*tmp_qloop_35;
+                   const real_t tmp_qloop_89 = tmp_qloop_43*tmp_qloop_88;
+                   const real_t tmp_qloop_90 = tmp_qloop_51*tmp_qloop_88;
+                   const real_t tmp_qloop_91 = tmp_qloop_59*tmp_qloop_88;
+                   const real_t tmp_qloop_92 = tmp_qloop_62*tmp_qloop_88;
+                   const real_t tmp_qloop_93 = tmp_qloop_66*tmp_qloop_88;
+                   const real_t tmp_qloop_94 = tmp_qloop_69*tmp_qloop_88;
+                   const real_t tmp_qloop_95 = tmp_qloop_26*tmp_qloop_43;
+                   const real_t tmp_qloop_96 = tmp_qloop_51*tmp_qloop_95;
+                   const real_t tmp_qloop_97 = tmp_qloop_59*tmp_qloop_95;
+                   const real_t tmp_qloop_98 = tmp_qloop_62*tmp_qloop_95;
+                   const real_t tmp_qloop_99 = tmp_qloop_66*tmp_qloop_95;
+                   const real_t tmp_qloop_100 = tmp_qloop_69*tmp_qloop_95;
+                   const real_t tmp_qloop_101 = tmp_qloop_26*tmp_qloop_51;
+                   const real_t tmp_qloop_102 = tmp_qloop_101*tmp_qloop_59;
+                   const real_t tmp_qloop_103 = tmp_qloop_101*tmp_qloop_62;
+                   const real_t tmp_qloop_104 = tmp_qloop_101*tmp_qloop_66;
+                   const real_t tmp_qloop_105 = tmp_qloop_101*tmp_qloop_69;
+                   const real_t tmp_qloop_106 = tmp_qloop_26*tmp_qloop_59;
+                   const real_t tmp_qloop_107 = tmp_qloop_106*tmp_qloop_62;
+                   const real_t tmp_qloop_108 = tmp_qloop_106*tmp_qloop_66;
+                   const real_t tmp_qloop_109 = tmp_qloop_106*tmp_qloop_69;
+                   const real_t tmp_qloop_110 = tmp_qloop_26*tmp_qloop_62;
+                   const real_t tmp_qloop_111 = tmp_qloop_110*tmp_qloop_66;
+                   const real_t tmp_qloop_112 = tmp_qloop_110*tmp_qloop_69;
+                   const real_t tmp_qloop_113 = tmp_qloop_26*tmp_qloop_66*tmp_qloop_69;
+                   const real_t q_tmp_0_0 = (tmp_qloop_25*tmp_qloop_25)*tmp_qloop_26;
+                   const real_t q_tmp_0_1 = tmp_qloop_30;
+                   const real_t q_tmp_0_2 = tmp_qloop_33;
+                   const real_t q_tmp_0_3 = tmp_qloop_36;
+                   const real_t q_tmp_0_4 = tmp_qloop_44;
+                   const real_t q_tmp_0_5 = tmp_qloop_52;
+                   const real_t q_tmp_0_6 = tmp_qloop_60;
+                   const real_t q_tmp_0_7 = tmp_qloop_63;
+                   const real_t q_tmp_0_8 = tmp_qloop_67;
+                   const real_t q_tmp_0_9 = tmp_qloop_70;
+                   const real_t q_tmp_1_0 = tmp_qloop_30;
+                   const real_t q_tmp_1_1 = tmp_qloop_26*(tmp_qloop_28*tmp_qloop_28);
+                   const real_t q_tmp_1_2 = tmp_qloop_72;
+                   const real_t q_tmp_1_3 = tmp_qloop_73;
+                   const real_t q_tmp_1_4 = tmp_qloop_74;
+                   const real_t q_tmp_1_5 = tmp_qloop_75;
+                   const real_t q_tmp_1_6 = tmp_qloop_76;
+                   const real_t q_tmp_1_7 = tmp_qloop_77;
+                   const real_t q_tmp_1_8 = tmp_qloop_78;
+                   const real_t q_tmp_1_9 = tmp_qloop_79;
+                   const real_t q_tmp_2_0 = tmp_qloop_33;
+                   const real_t q_tmp_2_1 = tmp_qloop_72;
+                   const real_t q_tmp_2_2 = tmp_qloop_26*(tmp_qloop_32*tmp_qloop_32);
+                   const real_t q_tmp_2_3 = tmp_qloop_81;
+                   const real_t q_tmp_2_4 = tmp_qloop_82;
+                   const real_t q_tmp_2_5 = tmp_qloop_83;
+                   const real_t q_tmp_2_6 = tmp_qloop_84;
+                   const real_t q_tmp_2_7 = tmp_qloop_85;
+                   const real_t q_tmp_2_8 = tmp_qloop_86;
+                   const real_t q_tmp_2_9 = tmp_qloop_87;
+                   const real_t q_tmp_3_0 = tmp_qloop_36;
+                   const real_t q_tmp_3_1 = tmp_qloop_73;
+                   const real_t q_tmp_3_2 = tmp_qloop_81;
+                   const real_t q_tmp_3_3 = tmp_qloop_26*(tmp_qloop_35*tmp_qloop_35);
+                   const real_t q_tmp_3_4 = tmp_qloop_89;
+                   const real_t q_tmp_3_5 = tmp_qloop_90;
+                   const real_t q_tmp_3_6 = tmp_qloop_91;
+                   const real_t q_tmp_3_7 = tmp_qloop_92;
+                   const real_t q_tmp_3_8 = tmp_qloop_93;
+                   const real_t q_tmp_3_9 = tmp_qloop_94;
+                   const real_t q_tmp_4_0 = tmp_qloop_44;
+                   const real_t q_tmp_4_1 = tmp_qloop_74;
+                   const real_t q_tmp_4_2 = tmp_qloop_82;
+                   const real_t q_tmp_4_3 = tmp_qloop_89;
+                   const real_t q_tmp_4_4 = tmp_qloop_26*(tmp_qloop_43*tmp_qloop_43);
+                   const real_t q_tmp_4_5 = tmp_qloop_96;
+                   const real_t q_tmp_4_6 = tmp_qloop_97;
+                   const real_t q_tmp_4_7 = tmp_qloop_98;
+                   const real_t q_tmp_4_8 = tmp_qloop_99;
+                   const real_t q_tmp_4_9 = tmp_qloop_100;
+                   const real_t q_tmp_5_0 = tmp_qloop_52;
+                   const real_t q_tmp_5_1 = tmp_qloop_75;
+                   const real_t q_tmp_5_2 = tmp_qloop_83;
+                   const real_t q_tmp_5_3 = tmp_qloop_90;
+                   const real_t q_tmp_5_4 = tmp_qloop_96;
+                   const real_t q_tmp_5_5 = tmp_qloop_26*(tmp_qloop_51*tmp_qloop_51);
+                   const real_t q_tmp_5_6 = tmp_qloop_102;
+                   const real_t q_tmp_5_7 = tmp_qloop_103;
+                   const real_t q_tmp_5_8 = tmp_qloop_104;
+                   const real_t q_tmp_5_9 = tmp_qloop_105;
+                   const real_t q_tmp_6_0 = tmp_qloop_60;
+                   const real_t q_tmp_6_1 = tmp_qloop_76;
+                   const real_t q_tmp_6_2 = tmp_qloop_84;
+                   const real_t q_tmp_6_3 = tmp_qloop_91;
+                   const real_t q_tmp_6_4 = tmp_qloop_97;
+                   const real_t q_tmp_6_5 = tmp_qloop_102;
+                   const real_t q_tmp_6_6 = tmp_qloop_26*(tmp_qloop_59*tmp_qloop_59);
+                   const real_t q_tmp_6_7 = tmp_qloop_107;
+                   const real_t q_tmp_6_8 = tmp_qloop_108;
+                   const real_t q_tmp_6_9 = tmp_qloop_109;
+                   const real_t q_tmp_7_0 = tmp_qloop_63;
+                   const real_t q_tmp_7_1 = tmp_qloop_77;
+                   const real_t q_tmp_7_2 = tmp_qloop_85;
+                   const real_t q_tmp_7_3 = tmp_qloop_92;
+                   const real_t q_tmp_7_4 = tmp_qloop_98;
+                   const real_t q_tmp_7_5 = tmp_qloop_103;
+                   const real_t q_tmp_7_6 = tmp_qloop_107;
+                   const real_t q_tmp_7_7 = tmp_qloop_26*(tmp_qloop_62*tmp_qloop_62);
+                   const real_t q_tmp_7_8 = tmp_qloop_111;
+                   const real_t q_tmp_7_9 = tmp_qloop_112;
+                   const real_t q_tmp_8_0 = tmp_qloop_67;
+                   const real_t q_tmp_8_1 = tmp_qloop_78;
+                   const real_t q_tmp_8_2 = tmp_qloop_86;
+                   const real_t q_tmp_8_3 = tmp_qloop_93;
+                   const real_t q_tmp_8_4 = tmp_qloop_99;
+                   const real_t q_tmp_8_5 = tmp_qloop_104;
+                   const real_t q_tmp_8_6 = tmp_qloop_108;
+                   const real_t q_tmp_8_7 = tmp_qloop_111;
+                   const real_t q_tmp_8_8 = tmp_qloop_26*(tmp_qloop_66*tmp_qloop_66);
+                   const real_t q_tmp_8_9 = tmp_qloop_113;
+                   const real_t q_tmp_9_0 = tmp_qloop_70;
+                   const real_t q_tmp_9_1 = tmp_qloop_79;
+                   const real_t q_tmp_9_2 = tmp_qloop_87;
+                   const real_t q_tmp_9_3 = tmp_qloop_94;
+                   const real_t q_tmp_9_4 = tmp_qloop_100;
+                   const real_t q_tmp_9_5 = tmp_qloop_105;
+                   const real_t q_tmp_9_6 = tmp_qloop_109;
+                   const real_t q_tmp_9_7 = tmp_qloop_112;
+                   const real_t q_tmp_9_8 = tmp_qloop_113;
+                   const real_t q_tmp_9_9 = tmp_qloop_26*(tmp_qloop_69*tmp_qloop_69);
+                   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;
+                   q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                   q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                   q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                   q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                   q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                   q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                   q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                   q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                   q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                   q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                   q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                   q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                   q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                   q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                   q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                   q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                   q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                   q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                   q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                   q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                   q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                   q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                   q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                   q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                   q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                   q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                   q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                   q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                   q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                   q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                   q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                   q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                   q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                   q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                   q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                   q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                   q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                   q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                   q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                   q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                   q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                   q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                   q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                   q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                   q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                   q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                   q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                   q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                   q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+                const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+                const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+                const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+                const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+                const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+                const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+                _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_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 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_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 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_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 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP;
+       const real_t tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP);
+       const real_t jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP);
+       const real_t jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP);
+       const real_t jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP);
+       const real_t jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP);
+       {
+          /* CellType.BLUE_UP */
+          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 cp_times_delta_dof_0 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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);
+                __m256d q_acc_4_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_1),_mm256_mul_pd(tmp_qloop_13,ux_dof_2)),_mm256_mul_pd(tmp_qloop_16,ux_dof_3)),_mm256_mul_pd(tmp_qloop_17,ux_dof_7)),_mm256_mul_pd(tmp_qloop_18,ux_dof_8)),_mm256_mul_pd(tmp_qloop_20,ux_dof_9)),_mm256_mul_pd(tmp_qloop_21,ux_dof_0)),_mm256_mul_pd(tmp_qloop_5,ux_dof_6)),_mm256_mul_pd(tmp_qloop_6,ux_dof_5)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_1),_mm256_mul_pd(tmp_qloop_13,uy_dof_2)),_mm256_mul_pd(tmp_qloop_16,uy_dof_3)),_mm256_mul_pd(tmp_qloop_17,uy_dof_7)),_mm256_mul_pd(tmp_qloop_18,uy_dof_8)),_mm256_mul_pd(tmp_qloop_20,uy_dof_9)),_mm256_mul_pd(tmp_qloop_21,uy_dof_0)),_mm256_mul_pd(tmp_qloop_5,uy_dof_6)),_mm256_mul_pd(tmp_qloop_6,uy_dof_5)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_1),_mm256_mul_pd(tmp_qloop_13,uz_dof_2)),_mm256_mul_pd(tmp_qloop_16,uz_dof_3)),_mm256_mul_pd(tmp_qloop_17,uz_dof_7)),_mm256_mul_pd(tmp_qloop_18,uz_dof_8)),_mm256_mul_pd(tmp_qloop_20,uz_dof_9)),_mm256_mul_pd(tmp_qloop_21,uz_dof_0)),_mm256_mul_pd(tmp_qloop_5,uz_dof_6)),_mm256_mul_pd(tmp_qloop_6,uz_dof_5)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4));
+                   const __m256d tmp_qloop_25 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))));
+                   const __m256d tmp_qloop_26 = _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(cp_times_delta_dof_0,tmp_qloop_21),_mm256_mul_pd(cp_times_delta_dof_1,tmp_qloop_10)),_mm256_mul_pd(cp_times_delta_dof_2,tmp_qloop_13)),_mm256_mul_pd(cp_times_delta_dof_3,tmp_qloop_16)),_mm256_mul_pd(cp_times_delta_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_times_delta_dof_5,tmp_qloop_6)),_mm256_mul_pd(cp_times_delta_dof_6,tmp_qloop_5)),_mm256_mul_pd(cp_times_delta_dof_7,tmp_qloop_17)),_mm256_mul_pd(cp_times_delta_dof_8,tmp_qloop_18)),_mm256_mul_pd(cp_times_delta_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP));
+                   const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)));
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_26);
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_28,tmp_qloop_29);
+                   const __m256d tmp_qloop_31 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_32 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_31),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_31),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_31),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_32);
+                   const __m256d tmp_qloop_34 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_35 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_34),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_34),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_34),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_35);
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP));
+                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP));
+                   const __m256d tmp_qloop_43 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_43);
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP));
+                   const __m256d tmp_qloop_47 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP));
+                   const __m256d tmp_qloop_48 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP));
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP));
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP));
+                   const __m256d tmp_qloop_51 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_47,tmp_qloop_48))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_49,tmp_qloop_50)));
+                   const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_51);
+                   const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP));
+                   const __m256d tmp_qloop_54 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP));
+                   const __m256d tmp_qloop_55 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP));
+                   const __m256d tmp_qloop_56 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP));
+                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP));
+                   const __m256d tmp_qloop_58 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP));
+                   const __m256d tmp_qloop_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_53,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_55,tmp_qloop_56))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_57,tmp_qloop_58)));
+                   const __m256d tmp_qloop_60 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_59);
+                   const __m256d tmp_qloop_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_62 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))));
+                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_62);
+                   const __m256d tmp_qloop_64 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_65 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_66 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_54,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_65,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_65,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_65,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)))));
+                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_66);
+                   const __m256d tmp_qloop_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)))));
+                   const __m256d tmp_qloop_70 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_69);
+                   const __m256d tmp_qloop_71 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_28);
+                   const __m256d tmp_qloop_72 = _mm256_mul_pd(tmp_qloop_32,tmp_qloop_71);
+                   const __m256d tmp_qloop_73 = _mm256_mul_pd(tmp_qloop_35,tmp_qloop_71);
+                   const __m256d tmp_qloop_74 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_71);
+                   const __m256d tmp_qloop_75 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_71);
+                   const __m256d tmp_qloop_76 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_71);
+                   const __m256d tmp_qloop_77 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_71);
+                   const __m256d tmp_qloop_78 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_71);
+                   const __m256d tmp_qloop_79 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_71);
+                   const __m256d tmp_qloop_80 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_32);
+                   const __m256d tmp_qloop_81 = _mm256_mul_pd(tmp_qloop_35,tmp_qloop_80);
+                   const __m256d tmp_qloop_82 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_80);
+                   const __m256d tmp_qloop_83 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_80);
+                   const __m256d tmp_qloop_84 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_80);
+                   const __m256d tmp_qloop_85 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_80);
+                   const __m256d tmp_qloop_86 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_80);
+                   const __m256d tmp_qloop_87 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_80);
+                   const __m256d tmp_qloop_88 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_35);
+                   const __m256d tmp_qloop_89 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_88);
+                   const __m256d tmp_qloop_90 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_88);
+                   const __m256d tmp_qloop_91 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_88);
+                   const __m256d tmp_qloop_92 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_88);
+                   const __m256d tmp_qloop_93 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_88);
+                   const __m256d tmp_qloop_94 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_88);
+                   const __m256d tmp_qloop_95 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_43);
+                   const __m256d tmp_qloop_96 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_95);
+                   const __m256d tmp_qloop_97 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_95);
+                   const __m256d tmp_qloop_98 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_95);
+                   const __m256d tmp_qloop_99 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_95);
+                   const __m256d tmp_qloop_100 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_95);
+                   const __m256d tmp_qloop_101 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_51);
+                   const __m256d tmp_qloop_102 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_59);
+                   const __m256d tmp_qloop_103 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_62);
+                   const __m256d tmp_qloop_104 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_66);
+                   const __m256d tmp_qloop_105 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_69);
+                   const __m256d tmp_qloop_106 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_59);
+                   const __m256d tmp_qloop_107 = _mm256_mul_pd(tmp_qloop_106,tmp_qloop_62);
+                   const __m256d tmp_qloop_108 = _mm256_mul_pd(tmp_qloop_106,tmp_qloop_66);
+                   const __m256d tmp_qloop_109 = _mm256_mul_pd(tmp_qloop_106,tmp_qloop_69);
+                   const __m256d tmp_qloop_110 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_62);
+                   const __m256d tmp_qloop_111 = _mm256_mul_pd(tmp_qloop_110,tmp_qloop_66);
+                   const __m256d tmp_qloop_112 = _mm256_mul_pd(tmp_qloop_110,tmp_qloop_69);
+                   const __m256d tmp_qloop_113 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_26,tmp_qloop_66),tmp_qloop_69);
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_25,tmp_qloop_25),tmp_qloop_26);
+                   const __m256d q_tmp_0_1 = tmp_qloop_30;
+                   const __m256d q_tmp_0_2 = tmp_qloop_33;
+                   const __m256d q_tmp_0_3 = tmp_qloop_36;
+                   const __m256d q_tmp_0_4 = tmp_qloop_44;
+                   const __m256d q_tmp_0_5 = tmp_qloop_52;
+                   const __m256d q_tmp_0_6 = tmp_qloop_60;
+                   const __m256d q_tmp_0_7 = tmp_qloop_63;
+                   const __m256d q_tmp_0_8 = tmp_qloop_67;
+                   const __m256d q_tmp_0_9 = tmp_qloop_70;
+                   const __m256d q_tmp_1_0 = tmp_qloop_30;
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_28,tmp_qloop_28));
+                   const __m256d q_tmp_1_2 = tmp_qloop_72;
+                   const __m256d q_tmp_1_3 = tmp_qloop_73;
+                   const __m256d q_tmp_1_4 = tmp_qloop_74;
+                   const __m256d q_tmp_1_5 = tmp_qloop_75;
+                   const __m256d q_tmp_1_6 = tmp_qloop_76;
+                   const __m256d q_tmp_1_7 = tmp_qloop_77;
+                   const __m256d q_tmp_1_8 = tmp_qloop_78;
+                   const __m256d q_tmp_1_9 = tmp_qloop_79;
+                   const __m256d q_tmp_2_0 = tmp_qloop_33;
+                   const __m256d q_tmp_2_1 = tmp_qloop_72;
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_32,tmp_qloop_32));
+                   const __m256d q_tmp_2_3 = tmp_qloop_81;
+                   const __m256d q_tmp_2_4 = tmp_qloop_82;
+                   const __m256d q_tmp_2_5 = tmp_qloop_83;
+                   const __m256d q_tmp_2_6 = tmp_qloop_84;
+                   const __m256d q_tmp_2_7 = tmp_qloop_85;
+                   const __m256d q_tmp_2_8 = tmp_qloop_86;
+                   const __m256d q_tmp_2_9 = tmp_qloop_87;
+                   const __m256d q_tmp_3_0 = tmp_qloop_36;
+                   const __m256d q_tmp_3_1 = tmp_qloop_73;
+                   const __m256d q_tmp_3_2 = tmp_qloop_81;
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_35,tmp_qloop_35));
+                   const __m256d q_tmp_3_4 = tmp_qloop_89;
+                   const __m256d q_tmp_3_5 = tmp_qloop_90;
+                   const __m256d q_tmp_3_6 = tmp_qloop_91;
+                   const __m256d q_tmp_3_7 = tmp_qloop_92;
+                   const __m256d q_tmp_3_8 = tmp_qloop_93;
+                   const __m256d q_tmp_3_9 = tmp_qloop_94;
+                   const __m256d q_tmp_4_0 = tmp_qloop_44;
+                   const __m256d q_tmp_4_1 = tmp_qloop_74;
+                   const __m256d q_tmp_4_2 = tmp_qloop_82;
+                   const __m256d q_tmp_4_3 = tmp_qloop_89;
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_43,tmp_qloop_43));
+                   const __m256d q_tmp_4_5 = tmp_qloop_96;
+                   const __m256d q_tmp_4_6 = tmp_qloop_97;
+                   const __m256d q_tmp_4_7 = tmp_qloop_98;
+                   const __m256d q_tmp_4_8 = tmp_qloop_99;
+                   const __m256d q_tmp_4_9 = tmp_qloop_100;
+                   const __m256d q_tmp_5_0 = tmp_qloop_52;
+                   const __m256d q_tmp_5_1 = tmp_qloop_75;
+                   const __m256d q_tmp_5_2 = tmp_qloop_83;
+                   const __m256d q_tmp_5_3 = tmp_qloop_90;
+                   const __m256d q_tmp_5_4 = tmp_qloop_96;
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_51,tmp_qloop_51));
+                   const __m256d q_tmp_5_6 = tmp_qloop_102;
+                   const __m256d q_tmp_5_7 = tmp_qloop_103;
+                   const __m256d q_tmp_5_8 = tmp_qloop_104;
+                   const __m256d q_tmp_5_9 = tmp_qloop_105;
+                   const __m256d q_tmp_6_0 = tmp_qloop_60;
+                   const __m256d q_tmp_6_1 = tmp_qloop_76;
+                   const __m256d q_tmp_6_2 = tmp_qloop_84;
+                   const __m256d q_tmp_6_3 = tmp_qloop_91;
+                   const __m256d q_tmp_6_4 = tmp_qloop_97;
+                   const __m256d q_tmp_6_5 = tmp_qloop_102;
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_59,tmp_qloop_59));
+                   const __m256d q_tmp_6_7 = tmp_qloop_107;
+                   const __m256d q_tmp_6_8 = tmp_qloop_108;
+                   const __m256d q_tmp_6_9 = tmp_qloop_109;
+                   const __m256d q_tmp_7_0 = tmp_qloop_63;
+                   const __m256d q_tmp_7_1 = tmp_qloop_77;
+                   const __m256d q_tmp_7_2 = tmp_qloop_85;
+                   const __m256d q_tmp_7_3 = tmp_qloop_92;
+                   const __m256d q_tmp_7_4 = tmp_qloop_98;
+                   const __m256d q_tmp_7_5 = tmp_qloop_103;
+                   const __m256d q_tmp_7_6 = tmp_qloop_107;
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_62,tmp_qloop_62));
+                   const __m256d q_tmp_7_8 = tmp_qloop_111;
+                   const __m256d q_tmp_7_9 = tmp_qloop_112;
+                   const __m256d q_tmp_8_0 = tmp_qloop_67;
+                   const __m256d q_tmp_8_1 = tmp_qloop_78;
+                   const __m256d q_tmp_8_2 = tmp_qloop_86;
+                   const __m256d q_tmp_8_3 = tmp_qloop_93;
+                   const __m256d q_tmp_8_4 = tmp_qloop_99;
+                   const __m256d q_tmp_8_5 = tmp_qloop_104;
+                   const __m256d q_tmp_8_6 = tmp_qloop_108;
+                   const __m256d q_tmp_8_7 = tmp_qloop_111;
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_66,tmp_qloop_66));
+                   const __m256d q_tmp_8_9 = tmp_qloop_113;
+                   const __m256d q_tmp_9_0 = tmp_qloop_70;
+                   const __m256d q_tmp_9_1 = tmp_qloop_79;
+                   const __m256d q_tmp_9_2 = tmp_qloop_87;
+                   const __m256d q_tmp_9_3 = tmp_qloop_94;
+                   const __m256d q_tmp_9_4 = tmp_qloop_100;
+                   const __m256d q_tmp_9_5 = tmp_qloop_105;
+                   const __m256d q_tmp_9_6 = tmp_qloop_109;
+                   const __m256d q_tmp_9_7 = tmp_qloop_112;
+                   const __m256d q_tmp_9_8 = tmp_qloop_113;
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_69,tmp_qloop_69));
+                   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);
+                   q_acc_4_0 = _mm256_add_pd(q_acc_4_0,q_tmp_4_0);
+                   q_acc_4_1 = _mm256_add_pd(q_acc_4_1,q_tmp_4_1);
+                   q_acc_4_2 = _mm256_add_pd(q_acc_4_2,q_tmp_4_2);
+                   q_acc_4_3 = _mm256_add_pd(q_acc_4_3,q_tmp_4_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5);
+                   q_acc_4_6 = _mm256_add_pd(q_acc_4_6,q_tmp_4_6);
+                   q_acc_4_7 = _mm256_add_pd(q_acc_4_7,q_tmp_4_7);
+                   q_acc_4_8 = _mm256_add_pd(q_acc_4_8,q_tmp_4_8);
+                   q_acc_4_9 = _mm256_add_pd(q_acc_4_9,q_tmp_4_9);
+                   q_acc_5_0 = _mm256_add_pd(q_acc_5_0,q_tmp_5_0);
+                   q_acc_5_1 = _mm256_add_pd(q_acc_5_1,q_tmp_5_1);
+                   q_acc_5_2 = _mm256_add_pd(q_acc_5_2,q_tmp_5_2);
+                   q_acc_5_3 = _mm256_add_pd(q_acc_5_3,q_tmp_5_3);
+                   q_acc_5_4 = _mm256_add_pd(q_acc_5_4,q_tmp_5_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_5_6 = _mm256_add_pd(q_acc_5_6,q_tmp_5_6);
+                   q_acc_5_7 = _mm256_add_pd(q_acc_5_7,q_tmp_5_7);
+                   q_acc_5_8 = _mm256_add_pd(q_acc_5_8,q_tmp_5_8);
+                   q_acc_5_9 = _mm256_add_pd(q_acc_5_9,q_tmp_5_9);
+                   q_acc_6_0 = _mm256_add_pd(q_acc_6_0,q_tmp_6_0);
+                   q_acc_6_1 = _mm256_add_pd(q_acc_6_1,q_tmp_6_1);
+                   q_acc_6_2 = _mm256_add_pd(q_acc_6_2,q_tmp_6_2);
+                   q_acc_6_3 = _mm256_add_pd(q_acc_6_3,q_tmp_6_3);
+                   q_acc_6_4 = _mm256_add_pd(q_acc_6_4,q_tmp_6_4);
+                   q_acc_6_5 = _mm256_add_pd(q_acc_6_5,q_tmp_6_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_6_7 = _mm256_add_pd(q_acc_6_7,q_tmp_6_7);
+                   q_acc_6_8 = _mm256_add_pd(q_acc_6_8,q_tmp_6_8);
+                   q_acc_6_9 = _mm256_add_pd(q_acc_6_9,q_tmp_6_9);
+                   q_acc_7_0 = _mm256_add_pd(q_acc_7_0,q_tmp_7_0);
+                   q_acc_7_1 = _mm256_add_pd(q_acc_7_1,q_tmp_7_1);
+                   q_acc_7_2 = _mm256_add_pd(q_acc_7_2,q_tmp_7_2);
+                   q_acc_7_3 = _mm256_add_pd(q_acc_7_3,q_tmp_7_3);
+                   q_acc_7_4 = _mm256_add_pd(q_acc_7_4,q_tmp_7_4);
+                   q_acc_7_5 = _mm256_add_pd(q_acc_7_5,q_tmp_7_5);
+                   q_acc_7_6 = _mm256_add_pd(q_acc_7_6,q_tmp_7_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_7_8 = _mm256_add_pd(q_acc_7_8,q_tmp_7_8);
+                   q_acc_7_9 = _mm256_add_pd(q_acc_7_9,q_tmp_7_9);
+                   q_acc_8_0 = _mm256_add_pd(q_acc_8_0,q_tmp_8_0);
+                   q_acc_8_1 = _mm256_add_pd(q_acc_8_1,q_tmp_8_1);
+                   q_acc_8_2 = _mm256_add_pd(q_acc_8_2,q_tmp_8_2);
+                   q_acc_8_3 = _mm256_add_pd(q_acc_8_3,q_tmp_8_3);
+                   q_acc_8_4 = _mm256_add_pd(q_acc_8_4,q_tmp_8_4);
+                   q_acc_8_5 = _mm256_add_pd(q_acc_8_5,q_tmp_8_5);
+                   q_acc_8_6 = _mm256_add_pd(q_acc_8_6,q_tmp_8_6);
+                   q_acc_8_7 = _mm256_add_pd(q_acc_8_7,q_tmp_8_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_8_9 = _mm256_add_pd(q_acc_8_9,q_tmp_8_9);
+                   q_acc_9_0 = _mm256_add_pd(q_acc_9_0,q_tmp_9_0);
+                   q_acc_9_1 = _mm256_add_pd(q_acc_9_1,q_tmp_9_1);
+                   q_acc_9_2 = _mm256_add_pd(q_acc_9_2,q_tmp_9_2);
+                   q_acc_9_3 = _mm256_add_pd(q_acc_9_3,q_tmp_9_3);
+                   q_acc_9_4 = _mm256_add_pd(q_acc_9_4,q_tmp_9_4);
+                   q_acc_9_5 = _mm256_add_pd(q_acc_9_5,q_tmp_9_5);
+                   q_acc_9_6 = _mm256_add_pd(q_acc_9_6,q_tmp_9_6);
+                   q_acc_9_7 = _mm256_add_pd(q_acc_9_7,q_tmp_9_7);
+                   q_acc_9_8 = _mm256_add_pd(q_acc_9_8,q_tmp_9_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_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));
+                const __m256d elMatVec_4 = _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_4_0,src_dof_0),_mm256_mul_pd(q_acc_4_1,src_dof_1)),_mm256_mul_pd(q_acc_4_2,src_dof_2)),_mm256_mul_pd(q_acc_4_3,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)),_mm256_mul_pd(q_acc_4_6,src_dof_6)),_mm256_mul_pd(q_acc_4_7,src_dof_7)),_mm256_mul_pd(q_acc_4_8,src_dof_8)),_mm256_mul_pd(q_acc_4_9,src_dof_9));
+                const __m256d elMatVec_5 = _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_5_0,src_dof_0),_mm256_mul_pd(q_acc_5_1,src_dof_1)),_mm256_mul_pd(q_acc_5_2,src_dof_2)),_mm256_mul_pd(q_acc_5_3,src_dof_3)),_mm256_mul_pd(q_acc_5_4,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)),_mm256_mul_pd(q_acc_5_6,src_dof_6)),_mm256_mul_pd(q_acc_5_7,src_dof_7)),_mm256_mul_pd(q_acc_5_8,src_dof_8)),_mm256_mul_pd(q_acc_5_9,src_dof_9));
+                const __m256d elMatVec_6 = _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_6_0,src_dof_0),_mm256_mul_pd(q_acc_6_1,src_dof_1)),_mm256_mul_pd(q_acc_6_2,src_dof_2)),_mm256_mul_pd(q_acc_6_3,src_dof_3)),_mm256_mul_pd(q_acc_6_4,src_dof_4)),_mm256_mul_pd(q_acc_6_5,src_dof_5)),_mm256_mul_pd(q_acc_6_6,src_dof_6)),_mm256_mul_pd(q_acc_6_7,src_dof_7)),_mm256_mul_pd(q_acc_6_8,src_dof_8)),_mm256_mul_pd(q_acc_6_9,src_dof_9));
+                const __m256d elMatVec_7 = _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_7_0,src_dof_0),_mm256_mul_pd(q_acc_7_1,src_dof_1)),_mm256_mul_pd(q_acc_7_2,src_dof_2)),_mm256_mul_pd(q_acc_7_3,src_dof_3)),_mm256_mul_pd(q_acc_7_4,src_dof_4)),_mm256_mul_pd(q_acc_7_5,src_dof_5)),_mm256_mul_pd(q_acc_7_6,src_dof_6)),_mm256_mul_pd(q_acc_7_7,src_dof_7)),_mm256_mul_pd(q_acc_7_8,src_dof_8)),_mm256_mul_pd(q_acc_7_9,src_dof_9));
+                const __m256d elMatVec_8 = _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_8_0,src_dof_0),_mm256_mul_pd(q_acc_8_1,src_dof_1)),_mm256_mul_pd(q_acc_8_2,src_dof_2)),_mm256_mul_pd(q_acc_8_3,src_dof_3)),_mm256_mul_pd(q_acc_8_4,src_dof_4)),_mm256_mul_pd(q_acc_8_5,src_dof_5)),_mm256_mul_pd(q_acc_8_6,src_dof_6)),_mm256_mul_pd(q_acc_8_7,src_dof_7)),_mm256_mul_pd(q_acc_8_8,src_dof_8)),_mm256_mul_pd(q_acc_8_9,src_dof_9));
+                const __m256d elMatVec_9 = _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_9_0,src_dof_0),_mm256_mul_pd(q_acc_9_1,src_dof_1)),_mm256_mul_pd(q_acc_9_2,src_dof_2)),_mm256_mul_pd(q_acc_9_3,src_dof_3)),_mm256_mul_pd(q_acc_9_4,src_dof_4)),_mm256_mul_pd(q_acc_9_5,src_dof_5)),_mm256_mul_pd(q_acc_9_6,src_dof_6)),_mm256_mul_pd(q_acc_9_7,src_dof_7)),_mm256_mul_pd(q_acc_9_8,src_dof_8)),_mm256_mul_pd(q_acc_9_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_6,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_7,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_8,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_9,_mm256_loadu_pd(& _data_dstEdge[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))])));
+             }
+             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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+                real_t q_acc_4_0 = 0.0;
+                real_t q_acc_4_1 = 0.0;
+                real_t q_acc_4_2 = 0.0;
+                real_t q_acc_4_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_4_5 = 0.0;
+                real_t q_acc_4_6 = 0.0;
+                real_t q_acc_4_7 = 0.0;
+                real_t q_acc_4_8 = 0.0;
+                real_t q_acc_4_9 = 0.0;
+                real_t q_acc_5_0 = 0.0;
+                real_t q_acc_5_1 = 0.0;
+                real_t q_acc_5_2 = 0.0;
+                real_t q_acc_5_3 = 0.0;
+                real_t q_acc_5_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_5_6 = 0.0;
+                real_t q_acc_5_7 = 0.0;
+                real_t q_acc_5_8 = 0.0;
+                real_t q_acc_5_9 = 0.0;
+                real_t q_acc_6_0 = 0.0;
+                real_t q_acc_6_1 = 0.0;
+                real_t q_acc_6_2 = 0.0;
+                real_t q_acc_6_3 = 0.0;
+                real_t q_acc_6_4 = 0.0;
+                real_t q_acc_6_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_6_7 = 0.0;
+                real_t q_acc_6_8 = 0.0;
+                real_t q_acc_6_9 = 0.0;
+                real_t q_acc_7_0 = 0.0;
+                real_t q_acc_7_1 = 0.0;
+                real_t q_acc_7_2 = 0.0;
+                real_t q_acc_7_3 = 0.0;
+                real_t q_acc_7_4 = 0.0;
+                real_t q_acc_7_5 = 0.0;
+                real_t q_acc_7_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_7_8 = 0.0;
+                real_t q_acc_7_9 = 0.0;
+                real_t q_acc_8_0 = 0.0;
+                real_t q_acc_8_1 = 0.0;
+                real_t q_acc_8_2 = 0.0;
+                real_t q_acc_8_3 = 0.0;
+                real_t q_acc_8_4 = 0.0;
+                real_t q_acc_8_5 = 0.0;
+                real_t q_acc_8_6 = 0.0;
+                real_t q_acc_8_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_8_9 = 0.0;
+                real_t q_acc_9_0 = 0.0;
+                real_t q_acc_9_1 = 0.0;
+                real_t q_acc_9_2 = 0.0;
+                real_t q_acc_9_3 = 0.0;
+                real_t q_acc_9_4 = 0.0;
+                real_t q_acc_9_5 = 0.0;
+                real_t q_acc_9_6 = 0.0;
+                real_t q_acc_9_7 = 0.0;
+                real_t q_acc_9_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                   const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_4);
+                   const real_t tmp_qloop_26 = abs_det_jac_affine_BLUE_UP*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_27 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_28 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_0_1_BLUE_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_0_2_BLUE_UP*tmp_qloop_24*tmp_qloop_27;
+                   const real_t tmp_qloop_29 = tmp_qloop_25*tmp_qloop_26;
+                   const real_t tmp_qloop_30 = tmp_qloop_28*tmp_qloop_29;
+                   const real_t tmp_qloop_31 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_32 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_22*tmp_qloop_31 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_23*tmp_qloop_31 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_24*tmp_qloop_31;
+                   const real_t tmp_qloop_33 = tmp_qloop_29*tmp_qloop_32;
+                   const real_t tmp_qloop_34 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_35 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_22*tmp_qloop_34 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_23*tmp_qloop_34 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_24*tmp_qloop_34;
+                   const real_t tmp_qloop_36 = tmp_qloop_29*tmp_qloop_35;
+                   const real_t tmp_qloop_37 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_38 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_39 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_40 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_41 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_42 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_43 = tmp_qloop_22*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_23*(tmp_qloop_39 + tmp_qloop_40) + tmp_qloop_24*(tmp_qloop_41 + tmp_qloop_42);
+                   const real_t tmp_qloop_44 = tmp_qloop_29*tmp_qloop_43;
+                   const real_t tmp_qloop_45 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_47 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_48 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_49 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_50 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_51 = tmp_qloop_22*(tmp_qloop_45 + tmp_qloop_46) + tmp_qloop_23*(tmp_qloop_47 + tmp_qloop_48) + tmp_qloop_24*(tmp_qloop_49 + tmp_qloop_50);
+                   const real_t tmp_qloop_52 = tmp_qloop_29*tmp_qloop_51;
+                   const real_t tmp_qloop_53 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_54 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_55 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_56 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_57 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_58 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_59 = tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58);
+                   const real_t tmp_qloop_60 = tmp_qloop_29*tmp_qloop_59;
+                   const real_t tmp_qloop_61 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_62 = tmp_qloop_22*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_61 - tmp_qloop_38 - tmp_qloop_46) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_61 - tmp_qloop_40 - tmp_qloop_48) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_61 - tmp_qloop_42 - tmp_qloop_50);
+                   const real_t tmp_qloop_63 = tmp_qloop_29*tmp_qloop_62;
+                   const real_t tmp_qloop_64 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_65 = -tmp_qloop_1 - tmp_qloop_64 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_66 = tmp_qloop_22*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_65 - tmp_qloop_37 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_65 - tmp_qloop_39 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_65 - tmp_qloop_41 - tmp_qloop_58);
+                   const real_t tmp_qloop_67 = tmp_qloop_29*tmp_qloop_66;
+                   const real_t tmp_qloop_68 = -tmp_qloop_2 - tmp_qloop_64 - 8.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_69 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_53) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_55) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_57);
+                   const real_t tmp_qloop_70 = tmp_qloop_29*tmp_qloop_69;
+                   const real_t tmp_qloop_71 = tmp_qloop_26*tmp_qloop_28;
+                   const real_t tmp_qloop_72 = tmp_qloop_32*tmp_qloop_71;
+                   const real_t tmp_qloop_73 = tmp_qloop_35*tmp_qloop_71;
+                   const real_t tmp_qloop_74 = tmp_qloop_43*tmp_qloop_71;
+                   const real_t tmp_qloop_75 = tmp_qloop_51*tmp_qloop_71;
+                   const real_t tmp_qloop_76 = tmp_qloop_59*tmp_qloop_71;
+                   const real_t tmp_qloop_77 = tmp_qloop_62*tmp_qloop_71;
+                   const real_t tmp_qloop_78 = tmp_qloop_66*tmp_qloop_71;
+                   const real_t tmp_qloop_79 = tmp_qloop_69*tmp_qloop_71;
+                   const real_t tmp_qloop_80 = tmp_qloop_26*tmp_qloop_32;
+                   const real_t tmp_qloop_81 = tmp_qloop_35*tmp_qloop_80;
+                   const real_t tmp_qloop_82 = tmp_qloop_43*tmp_qloop_80;
+                   const real_t tmp_qloop_83 = tmp_qloop_51*tmp_qloop_80;
+                   const real_t tmp_qloop_84 = tmp_qloop_59*tmp_qloop_80;
+                   const real_t tmp_qloop_85 = tmp_qloop_62*tmp_qloop_80;
+                   const real_t tmp_qloop_86 = tmp_qloop_66*tmp_qloop_80;
+                   const real_t tmp_qloop_87 = tmp_qloop_69*tmp_qloop_80;
+                   const real_t tmp_qloop_88 = tmp_qloop_26*tmp_qloop_35;
+                   const real_t tmp_qloop_89 = tmp_qloop_43*tmp_qloop_88;
+                   const real_t tmp_qloop_90 = tmp_qloop_51*tmp_qloop_88;
+                   const real_t tmp_qloop_91 = tmp_qloop_59*tmp_qloop_88;
+                   const real_t tmp_qloop_92 = tmp_qloop_62*tmp_qloop_88;
+                   const real_t tmp_qloop_93 = tmp_qloop_66*tmp_qloop_88;
+                   const real_t tmp_qloop_94 = tmp_qloop_69*tmp_qloop_88;
+                   const real_t tmp_qloop_95 = tmp_qloop_26*tmp_qloop_43;
+                   const real_t tmp_qloop_96 = tmp_qloop_51*tmp_qloop_95;
+                   const real_t tmp_qloop_97 = tmp_qloop_59*tmp_qloop_95;
+                   const real_t tmp_qloop_98 = tmp_qloop_62*tmp_qloop_95;
+                   const real_t tmp_qloop_99 = tmp_qloop_66*tmp_qloop_95;
+                   const real_t tmp_qloop_100 = tmp_qloop_69*tmp_qloop_95;
+                   const real_t tmp_qloop_101 = tmp_qloop_26*tmp_qloop_51;
+                   const real_t tmp_qloop_102 = tmp_qloop_101*tmp_qloop_59;
+                   const real_t tmp_qloop_103 = tmp_qloop_101*tmp_qloop_62;
+                   const real_t tmp_qloop_104 = tmp_qloop_101*tmp_qloop_66;
+                   const real_t tmp_qloop_105 = tmp_qloop_101*tmp_qloop_69;
+                   const real_t tmp_qloop_106 = tmp_qloop_26*tmp_qloop_59;
+                   const real_t tmp_qloop_107 = tmp_qloop_106*tmp_qloop_62;
+                   const real_t tmp_qloop_108 = tmp_qloop_106*tmp_qloop_66;
+                   const real_t tmp_qloop_109 = tmp_qloop_106*tmp_qloop_69;
+                   const real_t tmp_qloop_110 = tmp_qloop_26*tmp_qloop_62;
+                   const real_t tmp_qloop_111 = tmp_qloop_110*tmp_qloop_66;
+                   const real_t tmp_qloop_112 = tmp_qloop_110*tmp_qloop_69;
+                   const real_t tmp_qloop_113 = tmp_qloop_26*tmp_qloop_66*tmp_qloop_69;
+                   const real_t q_tmp_0_0 = (tmp_qloop_25*tmp_qloop_25)*tmp_qloop_26;
+                   const real_t q_tmp_0_1 = tmp_qloop_30;
+                   const real_t q_tmp_0_2 = tmp_qloop_33;
+                   const real_t q_tmp_0_3 = tmp_qloop_36;
+                   const real_t q_tmp_0_4 = tmp_qloop_44;
+                   const real_t q_tmp_0_5 = tmp_qloop_52;
+                   const real_t q_tmp_0_6 = tmp_qloop_60;
+                   const real_t q_tmp_0_7 = tmp_qloop_63;
+                   const real_t q_tmp_0_8 = tmp_qloop_67;
+                   const real_t q_tmp_0_9 = tmp_qloop_70;
+                   const real_t q_tmp_1_0 = tmp_qloop_30;
+                   const real_t q_tmp_1_1 = tmp_qloop_26*(tmp_qloop_28*tmp_qloop_28);
+                   const real_t q_tmp_1_2 = tmp_qloop_72;
+                   const real_t q_tmp_1_3 = tmp_qloop_73;
+                   const real_t q_tmp_1_4 = tmp_qloop_74;
+                   const real_t q_tmp_1_5 = tmp_qloop_75;
+                   const real_t q_tmp_1_6 = tmp_qloop_76;
+                   const real_t q_tmp_1_7 = tmp_qloop_77;
+                   const real_t q_tmp_1_8 = tmp_qloop_78;
+                   const real_t q_tmp_1_9 = tmp_qloop_79;
+                   const real_t q_tmp_2_0 = tmp_qloop_33;
+                   const real_t q_tmp_2_1 = tmp_qloop_72;
+                   const real_t q_tmp_2_2 = tmp_qloop_26*(tmp_qloop_32*tmp_qloop_32);
+                   const real_t q_tmp_2_3 = tmp_qloop_81;
+                   const real_t q_tmp_2_4 = tmp_qloop_82;
+                   const real_t q_tmp_2_5 = tmp_qloop_83;
+                   const real_t q_tmp_2_6 = tmp_qloop_84;
+                   const real_t q_tmp_2_7 = tmp_qloop_85;
+                   const real_t q_tmp_2_8 = tmp_qloop_86;
+                   const real_t q_tmp_2_9 = tmp_qloop_87;
+                   const real_t q_tmp_3_0 = tmp_qloop_36;
+                   const real_t q_tmp_3_1 = tmp_qloop_73;
+                   const real_t q_tmp_3_2 = tmp_qloop_81;
+                   const real_t q_tmp_3_3 = tmp_qloop_26*(tmp_qloop_35*tmp_qloop_35);
+                   const real_t q_tmp_3_4 = tmp_qloop_89;
+                   const real_t q_tmp_3_5 = tmp_qloop_90;
+                   const real_t q_tmp_3_6 = tmp_qloop_91;
+                   const real_t q_tmp_3_7 = tmp_qloop_92;
+                   const real_t q_tmp_3_8 = tmp_qloop_93;
+                   const real_t q_tmp_3_9 = tmp_qloop_94;
+                   const real_t q_tmp_4_0 = tmp_qloop_44;
+                   const real_t q_tmp_4_1 = tmp_qloop_74;
+                   const real_t q_tmp_4_2 = tmp_qloop_82;
+                   const real_t q_tmp_4_3 = tmp_qloop_89;
+                   const real_t q_tmp_4_4 = tmp_qloop_26*(tmp_qloop_43*tmp_qloop_43);
+                   const real_t q_tmp_4_5 = tmp_qloop_96;
+                   const real_t q_tmp_4_6 = tmp_qloop_97;
+                   const real_t q_tmp_4_7 = tmp_qloop_98;
+                   const real_t q_tmp_4_8 = tmp_qloop_99;
+                   const real_t q_tmp_4_9 = tmp_qloop_100;
+                   const real_t q_tmp_5_0 = tmp_qloop_52;
+                   const real_t q_tmp_5_1 = tmp_qloop_75;
+                   const real_t q_tmp_5_2 = tmp_qloop_83;
+                   const real_t q_tmp_5_3 = tmp_qloop_90;
+                   const real_t q_tmp_5_4 = tmp_qloop_96;
+                   const real_t q_tmp_5_5 = tmp_qloop_26*(tmp_qloop_51*tmp_qloop_51);
+                   const real_t q_tmp_5_6 = tmp_qloop_102;
+                   const real_t q_tmp_5_7 = tmp_qloop_103;
+                   const real_t q_tmp_5_8 = tmp_qloop_104;
+                   const real_t q_tmp_5_9 = tmp_qloop_105;
+                   const real_t q_tmp_6_0 = tmp_qloop_60;
+                   const real_t q_tmp_6_1 = tmp_qloop_76;
+                   const real_t q_tmp_6_2 = tmp_qloop_84;
+                   const real_t q_tmp_6_3 = tmp_qloop_91;
+                   const real_t q_tmp_6_4 = tmp_qloop_97;
+                   const real_t q_tmp_6_5 = tmp_qloop_102;
+                   const real_t q_tmp_6_6 = tmp_qloop_26*(tmp_qloop_59*tmp_qloop_59);
+                   const real_t q_tmp_6_7 = tmp_qloop_107;
+                   const real_t q_tmp_6_8 = tmp_qloop_108;
+                   const real_t q_tmp_6_9 = tmp_qloop_109;
+                   const real_t q_tmp_7_0 = tmp_qloop_63;
+                   const real_t q_tmp_7_1 = tmp_qloop_77;
+                   const real_t q_tmp_7_2 = tmp_qloop_85;
+                   const real_t q_tmp_7_3 = tmp_qloop_92;
+                   const real_t q_tmp_7_4 = tmp_qloop_98;
+                   const real_t q_tmp_7_5 = tmp_qloop_103;
+                   const real_t q_tmp_7_6 = tmp_qloop_107;
+                   const real_t q_tmp_7_7 = tmp_qloop_26*(tmp_qloop_62*tmp_qloop_62);
+                   const real_t q_tmp_7_8 = tmp_qloop_111;
+                   const real_t q_tmp_7_9 = tmp_qloop_112;
+                   const real_t q_tmp_8_0 = tmp_qloop_67;
+                   const real_t q_tmp_8_1 = tmp_qloop_78;
+                   const real_t q_tmp_8_2 = tmp_qloop_86;
+                   const real_t q_tmp_8_3 = tmp_qloop_93;
+                   const real_t q_tmp_8_4 = tmp_qloop_99;
+                   const real_t q_tmp_8_5 = tmp_qloop_104;
+                   const real_t q_tmp_8_6 = tmp_qloop_108;
+                   const real_t q_tmp_8_7 = tmp_qloop_111;
+                   const real_t q_tmp_8_8 = tmp_qloop_26*(tmp_qloop_66*tmp_qloop_66);
+                   const real_t q_tmp_8_9 = tmp_qloop_113;
+                   const real_t q_tmp_9_0 = tmp_qloop_70;
+                   const real_t q_tmp_9_1 = tmp_qloop_79;
+                   const real_t q_tmp_9_2 = tmp_qloop_87;
+                   const real_t q_tmp_9_3 = tmp_qloop_94;
+                   const real_t q_tmp_9_4 = tmp_qloop_100;
+                   const real_t q_tmp_9_5 = tmp_qloop_105;
+                   const real_t q_tmp_9_6 = tmp_qloop_109;
+                   const real_t q_tmp_9_7 = tmp_qloop_112;
+                   const real_t q_tmp_9_8 = tmp_qloop_113;
+                   const real_t q_tmp_9_9 = tmp_qloop_26*(tmp_qloop_69*tmp_qloop_69);
+                   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;
+                   q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                   q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                   q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                   q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                   q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                   q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                   q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                   q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                   q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                   q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                   q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                   q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                   q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                   q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                   q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                   q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                   q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                   q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                   q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                   q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                   q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                   q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                   q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                   q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                   q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                   q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                   q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                   q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                   q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                   q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                   q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                   q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                   q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                   q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                   q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                   q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                   q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                   q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                   q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                   q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                   q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                   q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                   q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                   q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                   q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                   q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                   q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                   q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                   q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+                const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+                const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+                const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+                const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+                const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+                const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+                _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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] = elMatVec_7 + _data_dstEdge[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_dstEdge[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] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_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 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN;
+       const real_t tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN);
+       const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN);
+       const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN);
+       const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN);
+       const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN);
+       {
+          /* CellType.BLUE_DOWN */
+          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 cp_times_delta_dof_0 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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);
+                __m256d q_acc_4_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_1),_mm256_mul_pd(tmp_qloop_13,ux_dof_2)),_mm256_mul_pd(tmp_qloop_16,ux_dof_3)),_mm256_mul_pd(tmp_qloop_17,ux_dof_7)),_mm256_mul_pd(tmp_qloop_18,ux_dof_8)),_mm256_mul_pd(tmp_qloop_20,ux_dof_9)),_mm256_mul_pd(tmp_qloop_21,ux_dof_0)),_mm256_mul_pd(tmp_qloop_5,ux_dof_6)),_mm256_mul_pd(tmp_qloop_6,ux_dof_5)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_1),_mm256_mul_pd(tmp_qloop_13,uy_dof_2)),_mm256_mul_pd(tmp_qloop_16,uy_dof_3)),_mm256_mul_pd(tmp_qloop_17,uy_dof_7)),_mm256_mul_pd(tmp_qloop_18,uy_dof_8)),_mm256_mul_pd(tmp_qloop_20,uy_dof_9)),_mm256_mul_pd(tmp_qloop_21,uy_dof_0)),_mm256_mul_pd(tmp_qloop_5,uy_dof_6)),_mm256_mul_pd(tmp_qloop_6,uy_dof_5)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_1),_mm256_mul_pd(tmp_qloop_13,uz_dof_2)),_mm256_mul_pd(tmp_qloop_16,uz_dof_3)),_mm256_mul_pd(tmp_qloop_17,uz_dof_7)),_mm256_mul_pd(tmp_qloop_18,uz_dof_8)),_mm256_mul_pd(tmp_qloop_20,uz_dof_9)),_mm256_mul_pd(tmp_qloop_21,uz_dof_0)),_mm256_mul_pd(tmp_qloop_5,uz_dof_6)),_mm256_mul_pd(tmp_qloop_6,uz_dof_5)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4));
+                   const __m256d tmp_qloop_25 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))));
+                   const __m256d tmp_qloop_26 = _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(cp_times_delta_dof_0,tmp_qloop_21),_mm256_mul_pd(cp_times_delta_dof_1,tmp_qloop_10)),_mm256_mul_pd(cp_times_delta_dof_2,tmp_qloop_13)),_mm256_mul_pd(cp_times_delta_dof_3,tmp_qloop_16)),_mm256_mul_pd(cp_times_delta_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_times_delta_dof_5,tmp_qloop_6)),_mm256_mul_pd(cp_times_delta_dof_6,tmp_qloop_5)),_mm256_mul_pd(cp_times_delta_dof_7,tmp_qloop_17)),_mm256_mul_pd(cp_times_delta_dof_8,tmp_qloop_18)),_mm256_mul_pd(cp_times_delta_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN));
+                   const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)));
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_26);
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_28,tmp_qloop_29);
+                   const __m256d tmp_qloop_31 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_32 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_31),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_31),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_31),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_32);
+                   const __m256d tmp_qloop_34 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_35 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_34),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_34),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_34),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_35);
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_43 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_43);
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_47 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_48 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_51 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_47,tmp_qloop_48))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_49,tmp_qloop_50)));
+                   const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_51);
+                   const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_54 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_55 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_56 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_58 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_53,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_55,tmp_qloop_56))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_57,tmp_qloop_58)));
+                   const __m256d tmp_qloop_60 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_59);
+                   const __m256d tmp_qloop_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_62 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))));
+                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_62);
+                   const __m256d tmp_qloop_64 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_65 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_66 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_54,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_65,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_65,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_65,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)))));
+                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_66);
+                   const __m256d tmp_qloop_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)))));
+                   const __m256d tmp_qloop_70 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_69);
+                   const __m256d tmp_qloop_71 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_28);
+                   const __m256d tmp_qloop_72 = _mm256_mul_pd(tmp_qloop_32,tmp_qloop_71);
+                   const __m256d tmp_qloop_73 = _mm256_mul_pd(tmp_qloop_35,tmp_qloop_71);
+                   const __m256d tmp_qloop_74 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_71);
+                   const __m256d tmp_qloop_75 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_71);
+                   const __m256d tmp_qloop_76 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_71);
+                   const __m256d tmp_qloop_77 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_71);
+                   const __m256d tmp_qloop_78 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_71);
+                   const __m256d tmp_qloop_79 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_71);
+                   const __m256d tmp_qloop_80 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_32);
+                   const __m256d tmp_qloop_81 = _mm256_mul_pd(tmp_qloop_35,tmp_qloop_80);
+                   const __m256d tmp_qloop_82 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_80);
+                   const __m256d tmp_qloop_83 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_80);
+                   const __m256d tmp_qloop_84 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_80);
+                   const __m256d tmp_qloop_85 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_80);
+                   const __m256d tmp_qloop_86 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_80);
+                   const __m256d tmp_qloop_87 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_80);
+                   const __m256d tmp_qloop_88 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_35);
+                   const __m256d tmp_qloop_89 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_88);
+                   const __m256d tmp_qloop_90 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_88);
+                   const __m256d tmp_qloop_91 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_88);
+                   const __m256d tmp_qloop_92 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_88);
+                   const __m256d tmp_qloop_93 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_88);
+                   const __m256d tmp_qloop_94 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_88);
+                   const __m256d tmp_qloop_95 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_43);
+                   const __m256d tmp_qloop_96 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_95);
+                   const __m256d tmp_qloop_97 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_95);
+                   const __m256d tmp_qloop_98 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_95);
+                   const __m256d tmp_qloop_99 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_95);
+                   const __m256d tmp_qloop_100 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_95);
+                   const __m256d tmp_qloop_101 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_51);
+                   const __m256d tmp_qloop_102 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_59);
+                   const __m256d tmp_qloop_103 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_62);
+                   const __m256d tmp_qloop_104 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_66);
+                   const __m256d tmp_qloop_105 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_69);
+                   const __m256d tmp_qloop_106 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_59);
+                   const __m256d tmp_qloop_107 = _mm256_mul_pd(tmp_qloop_106,tmp_qloop_62);
+                   const __m256d tmp_qloop_108 = _mm256_mul_pd(tmp_qloop_106,tmp_qloop_66);
+                   const __m256d tmp_qloop_109 = _mm256_mul_pd(tmp_qloop_106,tmp_qloop_69);
+                   const __m256d tmp_qloop_110 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_62);
+                   const __m256d tmp_qloop_111 = _mm256_mul_pd(tmp_qloop_110,tmp_qloop_66);
+                   const __m256d tmp_qloop_112 = _mm256_mul_pd(tmp_qloop_110,tmp_qloop_69);
+                   const __m256d tmp_qloop_113 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_26,tmp_qloop_66),tmp_qloop_69);
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_25,tmp_qloop_25),tmp_qloop_26);
+                   const __m256d q_tmp_0_1 = tmp_qloop_30;
+                   const __m256d q_tmp_0_2 = tmp_qloop_33;
+                   const __m256d q_tmp_0_3 = tmp_qloop_36;
+                   const __m256d q_tmp_0_4 = tmp_qloop_44;
+                   const __m256d q_tmp_0_5 = tmp_qloop_52;
+                   const __m256d q_tmp_0_6 = tmp_qloop_60;
+                   const __m256d q_tmp_0_7 = tmp_qloop_63;
+                   const __m256d q_tmp_0_8 = tmp_qloop_67;
+                   const __m256d q_tmp_0_9 = tmp_qloop_70;
+                   const __m256d q_tmp_1_0 = tmp_qloop_30;
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_28,tmp_qloop_28));
+                   const __m256d q_tmp_1_2 = tmp_qloop_72;
+                   const __m256d q_tmp_1_3 = tmp_qloop_73;
+                   const __m256d q_tmp_1_4 = tmp_qloop_74;
+                   const __m256d q_tmp_1_5 = tmp_qloop_75;
+                   const __m256d q_tmp_1_6 = tmp_qloop_76;
+                   const __m256d q_tmp_1_7 = tmp_qloop_77;
+                   const __m256d q_tmp_1_8 = tmp_qloop_78;
+                   const __m256d q_tmp_1_9 = tmp_qloop_79;
+                   const __m256d q_tmp_2_0 = tmp_qloop_33;
+                   const __m256d q_tmp_2_1 = tmp_qloop_72;
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_32,tmp_qloop_32));
+                   const __m256d q_tmp_2_3 = tmp_qloop_81;
+                   const __m256d q_tmp_2_4 = tmp_qloop_82;
+                   const __m256d q_tmp_2_5 = tmp_qloop_83;
+                   const __m256d q_tmp_2_6 = tmp_qloop_84;
+                   const __m256d q_tmp_2_7 = tmp_qloop_85;
+                   const __m256d q_tmp_2_8 = tmp_qloop_86;
+                   const __m256d q_tmp_2_9 = tmp_qloop_87;
+                   const __m256d q_tmp_3_0 = tmp_qloop_36;
+                   const __m256d q_tmp_3_1 = tmp_qloop_73;
+                   const __m256d q_tmp_3_2 = tmp_qloop_81;
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_35,tmp_qloop_35));
+                   const __m256d q_tmp_3_4 = tmp_qloop_89;
+                   const __m256d q_tmp_3_5 = tmp_qloop_90;
+                   const __m256d q_tmp_3_6 = tmp_qloop_91;
+                   const __m256d q_tmp_3_7 = tmp_qloop_92;
+                   const __m256d q_tmp_3_8 = tmp_qloop_93;
+                   const __m256d q_tmp_3_9 = tmp_qloop_94;
+                   const __m256d q_tmp_4_0 = tmp_qloop_44;
+                   const __m256d q_tmp_4_1 = tmp_qloop_74;
+                   const __m256d q_tmp_4_2 = tmp_qloop_82;
+                   const __m256d q_tmp_4_3 = tmp_qloop_89;
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_43,tmp_qloop_43));
+                   const __m256d q_tmp_4_5 = tmp_qloop_96;
+                   const __m256d q_tmp_4_6 = tmp_qloop_97;
+                   const __m256d q_tmp_4_7 = tmp_qloop_98;
+                   const __m256d q_tmp_4_8 = tmp_qloop_99;
+                   const __m256d q_tmp_4_9 = tmp_qloop_100;
+                   const __m256d q_tmp_5_0 = tmp_qloop_52;
+                   const __m256d q_tmp_5_1 = tmp_qloop_75;
+                   const __m256d q_tmp_5_2 = tmp_qloop_83;
+                   const __m256d q_tmp_5_3 = tmp_qloop_90;
+                   const __m256d q_tmp_5_4 = tmp_qloop_96;
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_51,tmp_qloop_51));
+                   const __m256d q_tmp_5_6 = tmp_qloop_102;
+                   const __m256d q_tmp_5_7 = tmp_qloop_103;
+                   const __m256d q_tmp_5_8 = tmp_qloop_104;
+                   const __m256d q_tmp_5_9 = tmp_qloop_105;
+                   const __m256d q_tmp_6_0 = tmp_qloop_60;
+                   const __m256d q_tmp_6_1 = tmp_qloop_76;
+                   const __m256d q_tmp_6_2 = tmp_qloop_84;
+                   const __m256d q_tmp_6_3 = tmp_qloop_91;
+                   const __m256d q_tmp_6_4 = tmp_qloop_97;
+                   const __m256d q_tmp_6_5 = tmp_qloop_102;
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_59,tmp_qloop_59));
+                   const __m256d q_tmp_6_7 = tmp_qloop_107;
+                   const __m256d q_tmp_6_8 = tmp_qloop_108;
+                   const __m256d q_tmp_6_9 = tmp_qloop_109;
+                   const __m256d q_tmp_7_0 = tmp_qloop_63;
+                   const __m256d q_tmp_7_1 = tmp_qloop_77;
+                   const __m256d q_tmp_7_2 = tmp_qloop_85;
+                   const __m256d q_tmp_7_3 = tmp_qloop_92;
+                   const __m256d q_tmp_7_4 = tmp_qloop_98;
+                   const __m256d q_tmp_7_5 = tmp_qloop_103;
+                   const __m256d q_tmp_7_6 = tmp_qloop_107;
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_62,tmp_qloop_62));
+                   const __m256d q_tmp_7_8 = tmp_qloop_111;
+                   const __m256d q_tmp_7_9 = tmp_qloop_112;
+                   const __m256d q_tmp_8_0 = tmp_qloop_67;
+                   const __m256d q_tmp_8_1 = tmp_qloop_78;
+                   const __m256d q_tmp_8_2 = tmp_qloop_86;
+                   const __m256d q_tmp_8_3 = tmp_qloop_93;
+                   const __m256d q_tmp_8_4 = tmp_qloop_99;
+                   const __m256d q_tmp_8_5 = tmp_qloop_104;
+                   const __m256d q_tmp_8_6 = tmp_qloop_108;
+                   const __m256d q_tmp_8_7 = tmp_qloop_111;
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_66,tmp_qloop_66));
+                   const __m256d q_tmp_8_9 = tmp_qloop_113;
+                   const __m256d q_tmp_9_0 = tmp_qloop_70;
+                   const __m256d q_tmp_9_1 = tmp_qloop_79;
+                   const __m256d q_tmp_9_2 = tmp_qloop_87;
+                   const __m256d q_tmp_9_3 = tmp_qloop_94;
+                   const __m256d q_tmp_9_4 = tmp_qloop_100;
+                   const __m256d q_tmp_9_5 = tmp_qloop_105;
+                   const __m256d q_tmp_9_6 = tmp_qloop_109;
+                   const __m256d q_tmp_9_7 = tmp_qloop_112;
+                   const __m256d q_tmp_9_8 = tmp_qloop_113;
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_69,tmp_qloop_69));
+                   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);
+                   q_acc_4_0 = _mm256_add_pd(q_acc_4_0,q_tmp_4_0);
+                   q_acc_4_1 = _mm256_add_pd(q_acc_4_1,q_tmp_4_1);
+                   q_acc_4_2 = _mm256_add_pd(q_acc_4_2,q_tmp_4_2);
+                   q_acc_4_3 = _mm256_add_pd(q_acc_4_3,q_tmp_4_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5);
+                   q_acc_4_6 = _mm256_add_pd(q_acc_4_6,q_tmp_4_6);
+                   q_acc_4_7 = _mm256_add_pd(q_acc_4_7,q_tmp_4_7);
+                   q_acc_4_8 = _mm256_add_pd(q_acc_4_8,q_tmp_4_8);
+                   q_acc_4_9 = _mm256_add_pd(q_acc_4_9,q_tmp_4_9);
+                   q_acc_5_0 = _mm256_add_pd(q_acc_5_0,q_tmp_5_0);
+                   q_acc_5_1 = _mm256_add_pd(q_acc_5_1,q_tmp_5_1);
+                   q_acc_5_2 = _mm256_add_pd(q_acc_5_2,q_tmp_5_2);
+                   q_acc_5_3 = _mm256_add_pd(q_acc_5_3,q_tmp_5_3);
+                   q_acc_5_4 = _mm256_add_pd(q_acc_5_4,q_tmp_5_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_5_6 = _mm256_add_pd(q_acc_5_6,q_tmp_5_6);
+                   q_acc_5_7 = _mm256_add_pd(q_acc_5_7,q_tmp_5_7);
+                   q_acc_5_8 = _mm256_add_pd(q_acc_5_8,q_tmp_5_8);
+                   q_acc_5_9 = _mm256_add_pd(q_acc_5_9,q_tmp_5_9);
+                   q_acc_6_0 = _mm256_add_pd(q_acc_6_0,q_tmp_6_0);
+                   q_acc_6_1 = _mm256_add_pd(q_acc_6_1,q_tmp_6_1);
+                   q_acc_6_2 = _mm256_add_pd(q_acc_6_2,q_tmp_6_2);
+                   q_acc_6_3 = _mm256_add_pd(q_acc_6_3,q_tmp_6_3);
+                   q_acc_6_4 = _mm256_add_pd(q_acc_6_4,q_tmp_6_4);
+                   q_acc_6_5 = _mm256_add_pd(q_acc_6_5,q_tmp_6_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_6_7 = _mm256_add_pd(q_acc_6_7,q_tmp_6_7);
+                   q_acc_6_8 = _mm256_add_pd(q_acc_6_8,q_tmp_6_8);
+                   q_acc_6_9 = _mm256_add_pd(q_acc_6_9,q_tmp_6_9);
+                   q_acc_7_0 = _mm256_add_pd(q_acc_7_0,q_tmp_7_0);
+                   q_acc_7_1 = _mm256_add_pd(q_acc_7_1,q_tmp_7_1);
+                   q_acc_7_2 = _mm256_add_pd(q_acc_7_2,q_tmp_7_2);
+                   q_acc_7_3 = _mm256_add_pd(q_acc_7_3,q_tmp_7_3);
+                   q_acc_7_4 = _mm256_add_pd(q_acc_7_4,q_tmp_7_4);
+                   q_acc_7_5 = _mm256_add_pd(q_acc_7_5,q_tmp_7_5);
+                   q_acc_7_6 = _mm256_add_pd(q_acc_7_6,q_tmp_7_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_7_8 = _mm256_add_pd(q_acc_7_8,q_tmp_7_8);
+                   q_acc_7_9 = _mm256_add_pd(q_acc_7_9,q_tmp_7_9);
+                   q_acc_8_0 = _mm256_add_pd(q_acc_8_0,q_tmp_8_0);
+                   q_acc_8_1 = _mm256_add_pd(q_acc_8_1,q_tmp_8_1);
+                   q_acc_8_2 = _mm256_add_pd(q_acc_8_2,q_tmp_8_2);
+                   q_acc_8_3 = _mm256_add_pd(q_acc_8_3,q_tmp_8_3);
+                   q_acc_8_4 = _mm256_add_pd(q_acc_8_4,q_tmp_8_4);
+                   q_acc_8_5 = _mm256_add_pd(q_acc_8_5,q_tmp_8_5);
+                   q_acc_8_6 = _mm256_add_pd(q_acc_8_6,q_tmp_8_6);
+                   q_acc_8_7 = _mm256_add_pd(q_acc_8_7,q_tmp_8_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_8_9 = _mm256_add_pd(q_acc_8_9,q_tmp_8_9);
+                   q_acc_9_0 = _mm256_add_pd(q_acc_9_0,q_tmp_9_0);
+                   q_acc_9_1 = _mm256_add_pd(q_acc_9_1,q_tmp_9_1);
+                   q_acc_9_2 = _mm256_add_pd(q_acc_9_2,q_tmp_9_2);
+                   q_acc_9_3 = _mm256_add_pd(q_acc_9_3,q_tmp_9_3);
+                   q_acc_9_4 = _mm256_add_pd(q_acc_9_4,q_tmp_9_4);
+                   q_acc_9_5 = _mm256_add_pd(q_acc_9_5,q_tmp_9_5);
+                   q_acc_9_6 = _mm256_add_pd(q_acc_9_6,q_tmp_9_6);
+                   q_acc_9_7 = _mm256_add_pd(q_acc_9_7,q_tmp_9_7);
+                   q_acc_9_8 = _mm256_add_pd(q_acc_9_8,q_tmp_9_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_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));
+                const __m256d elMatVec_4 = _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_4_0,src_dof_0),_mm256_mul_pd(q_acc_4_1,src_dof_1)),_mm256_mul_pd(q_acc_4_2,src_dof_2)),_mm256_mul_pd(q_acc_4_3,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)),_mm256_mul_pd(q_acc_4_6,src_dof_6)),_mm256_mul_pd(q_acc_4_7,src_dof_7)),_mm256_mul_pd(q_acc_4_8,src_dof_8)),_mm256_mul_pd(q_acc_4_9,src_dof_9));
+                const __m256d elMatVec_5 = _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_5_0,src_dof_0),_mm256_mul_pd(q_acc_5_1,src_dof_1)),_mm256_mul_pd(q_acc_5_2,src_dof_2)),_mm256_mul_pd(q_acc_5_3,src_dof_3)),_mm256_mul_pd(q_acc_5_4,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)),_mm256_mul_pd(q_acc_5_6,src_dof_6)),_mm256_mul_pd(q_acc_5_7,src_dof_7)),_mm256_mul_pd(q_acc_5_8,src_dof_8)),_mm256_mul_pd(q_acc_5_9,src_dof_9));
+                const __m256d elMatVec_6 = _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_6_0,src_dof_0),_mm256_mul_pd(q_acc_6_1,src_dof_1)),_mm256_mul_pd(q_acc_6_2,src_dof_2)),_mm256_mul_pd(q_acc_6_3,src_dof_3)),_mm256_mul_pd(q_acc_6_4,src_dof_4)),_mm256_mul_pd(q_acc_6_5,src_dof_5)),_mm256_mul_pd(q_acc_6_6,src_dof_6)),_mm256_mul_pd(q_acc_6_7,src_dof_7)),_mm256_mul_pd(q_acc_6_8,src_dof_8)),_mm256_mul_pd(q_acc_6_9,src_dof_9));
+                const __m256d elMatVec_7 = _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_7_0,src_dof_0),_mm256_mul_pd(q_acc_7_1,src_dof_1)),_mm256_mul_pd(q_acc_7_2,src_dof_2)),_mm256_mul_pd(q_acc_7_3,src_dof_3)),_mm256_mul_pd(q_acc_7_4,src_dof_4)),_mm256_mul_pd(q_acc_7_5,src_dof_5)),_mm256_mul_pd(q_acc_7_6,src_dof_6)),_mm256_mul_pd(q_acc_7_7,src_dof_7)),_mm256_mul_pd(q_acc_7_8,src_dof_8)),_mm256_mul_pd(q_acc_7_9,src_dof_9));
+                const __m256d elMatVec_8 = _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_8_0,src_dof_0),_mm256_mul_pd(q_acc_8_1,src_dof_1)),_mm256_mul_pd(q_acc_8_2,src_dof_2)),_mm256_mul_pd(q_acc_8_3,src_dof_3)),_mm256_mul_pd(q_acc_8_4,src_dof_4)),_mm256_mul_pd(q_acc_8_5,src_dof_5)),_mm256_mul_pd(q_acc_8_6,src_dof_6)),_mm256_mul_pd(q_acc_8_7,src_dof_7)),_mm256_mul_pd(q_acc_8_8,src_dof_8)),_mm256_mul_pd(q_acc_8_9,src_dof_9));
+                const __m256d elMatVec_9 = _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_9_0,src_dof_0),_mm256_mul_pd(q_acc_9_1,src_dof_1)),_mm256_mul_pd(q_acc_9_2,src_dof_2)),_mm256_mul_pd(q_acc_9_3,src_dof_3)),_mm256_mul_pd(q_acc_9_4,src_dof_4)),_mm256_mul_pd(q_acc_9_5,src_dof_5)),_mm256_mul_pd(q_acc_9_6,src_dof_6)),_mm256_mul_pd(q_acc_9_7,src_dof_7)),_mm256_mul_pd(q_acc_9_8,src_dof_8)),_mm256_mul_pd(q_acc_9_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_6,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_7,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_8,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_9,_mm256_loadu_pd(& _data_dstEdge[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))])));
+             }
+             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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+                real_t q_acc_4_0 = 0.0;
+                real_t q_acc_4_1 = 0.0;
+                real_t q_acc_4_2 = 0.0;
+                real_t q_acc_4_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_4_5 = 0.0;
+                real_t q_acc_4_6 = 0.0;
+                real_t q_acc_4_7 = 0.0;
+                real_t q_acc_4_8 = 0.0;
+                real_t q_acc_4_9 = 0.0;
+                real_t q_acc_5_0 = 0.0;
+                real_t q_acc_5_1 = 0.0;
+                real_t q_acc_5_2 = 0.0;
+                real_t q_acc_5_3 = 0.0;
+                real_t q_acc_5_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_5_6 = 0.0;
+                real_t q_acc_5_7 = 0.0;
+                real_t q_acc_5_8 = 0.0;
+                real_t q_acc_5_9 = 0.0;
+                real_t q_acc_6_0 = 0.0;
+                real_t q_acc_6_1 = 0.0;
+                real_t q_acc_6_2 = 0.0;
+                real_t q_acc_6_3 = 0.0;
+                real_t q_acc_6_4 = 0.0;
+                real_t q_acc_6_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_6_7 = 0.0;
+                real_t q_acc_6_8 = 0.0;
+                real_t q_acc_6_9 = 0.0;
+                real_t q_acc_7_0 = 0.0;
+                real_t q_acc_7_1 = 0.0;
+                real_t q_acc_7_2 = 0.0;
+                real_t q_acc_7_3 = 0.0;
+                real_t q_acc_7_4 = 0.0;
+                real_t q_acc_7_5 = 0.0;
+                real_t q_acc_7_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_7_8 = 0.0;
+                real_t q_acc_7_9 = 0.0;
+                real_t q_acc_8_0 = 0.0;
+                real_t q_acc_8_1 = 0.0;
+                real_t q_acc_8_2 = 0.0;
+                real_t q_acc_8_3 = 0.0;
+                real_t q_acc_8_4 = 0.0;
+                real_t q_acc_8_5 = 0.0;
+                real_t q_acc_8_6 = 0.0;
+                real_t q_acc_8_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_8_9 = 0.0;
+                real_t q_acc_9_0 = 0.0;
+                real_t q_acc_9_1 = 0.0;
+                real_t q_acc_9_2 = 0.0;
+                real_t q_acc_9_3 = 0.0;
+                real_t q_acc_9_4 = 0.0;
+                real_t q_acc_9_5 = 0.0;
+                real_t q_acc_9_6 = 0.0;
+                real_t q_acc_9_7 = 0.0;
+                real_t q_acc_9_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                   const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_4);
+                   const real_t tmp_qloop_26 = abs_det_jac_affine_BLUE_DOWN*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_27 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_28 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_27;
+                   const real_t tmp_qloop_29 = tmp_qloop_25*tmp_qloop_26;
+                   const real_t tmp_qloop_30 = tmp_qloop_28*tmp_qloop_29;
+                   const real_t tmp_qloop_31 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_32 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_31 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_31 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_31;
+                   const real_t tmp_qloop_33 = tmp_qloop_29*tmp_qloop_32;
+                   const real_t tmp_qloop_34 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_35 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_34 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_34 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_34;
+                   const real_t tmp_qloop_36 = tmp_qloop_29*tmp_qloop_35;
+                   const real_t tmp_qloop_37 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_38 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_39 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_40 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_41 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_42 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_43 = tmp_qloop_22*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_23*(tmp_qloop_39 + tmp_qloop_40) + tmp_qloop_24*(tmp_qloop_41 + tmp_qloop_42);
+                   const real_t tmp_qloop_44 = tmp_qloop_29*tmp_qloop_43;
+                   const real_t tmp_qloop_45 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_47 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_48 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_49 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_50 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_51 = tmp_qloop_22*(tmp_qloop_45 + tmp_qloop_46) + tmp_qloop_23*(tmp_qloop_47 + tmp_qloop_48) + tmp_qloop_24*(tmp_qloop_49 + tmp_qloop_50);
+                   const real_t tmp_qloop_52 = tmp_qloop_29*tmp_qloop_51;
+                   const real_t tmp_qloop_53 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_54 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_55 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_56 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_57 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_58 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_59 = tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58);
+                   const real_t tmp_qloop_60 = tmp_qloop_29*tmp_qloop_59;
+                   const real_t tmp_qloop_61 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_62 = tmp_qloop_22*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_61 - tmp_qloop_38 - tmp_qloop_46) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_61 - tmp_qloop_40 - tmp_qloop_48) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_61 - tmp_qloop_42 - tmp_qloop_50);
+                   const real_t tmp_qloop_63 = tmp_qloop_29*tmp_qloop_62;
+                   const real_t tmp_qloop_64 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_65 = -tmp_qloop_1 - tmp_qloop_64 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_66 = tmp_qloop_22*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_65 - tmp_qloop_37 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_65 - tmp_qloop_39 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_65 - tmp_qloop_41 - tmp_qloop_58);
+                   const real_t tmp_qloop_67 = tmp_qloop_29*tmp_qloop_66;
+                   const real_t tmp_qloop_68 = -tmp_qloop_2 - tmp_qloop_64 - 8.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_69 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_53) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_55) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_57);
+                   const real_t tmp_qloop_70 = tmp_qloop_29*tmp_qloop_69;
+                   const real_t tmp_qloop_71 = tmp_qloop_26*tmp_qloop_28;
+                   const real_t tmp_qloop_72 = tmp_qloop_32*tmp_qloop_71;
+                   const real_t tmp_qloop_73 = tmp_qloop_35*tmp_qloop_71;
+                   const real_t tmp_qloop_74 = tmp_qloop_43*tmp_qloop_71;
+                   const real_t tmp_qloop_75 = tmp_qloop_51*tmp_qloop_71;
+                   const real_t tmp_qloop_76 = tmp_qloop_59*tmp_qloop_71;
+                   const real_t tmp_qloop_77 = tmp_qloop_62*tmp_qloop_71;
+                   const real_t tmp_qloop_78 = tmp_qloop_66*tmp_qloop_71;
+                   const real_t tmp_qloop_79 = tmp_qloop_69*tmp_qloop_71;
+                   const real_t tmp_qloop_80 = tmp_qloop_26*tmp_qloop_32;
+                   const real_t tmp_qloop_81 = tmp_qloop_35*tmp_qloop_80;
+                   const real_t tmp_qloop_82 = tmp_qloop_43*tmp_qloop_80;
+                   const real_t tmp_qloop_83 = tmp_qloop_51*tmp_qloop_80;
+                   const real_t tmp_qloop_84 = tmp_qloop_59*tmp_qloop_80;
+                   const real_t tmp_qloop_85 = tmp_qloop_62*tmp_qloop_80;
+                   const real_t tmp_qloop_86 = tmp_qloop_66*tmp_qloop_80;
+                   const real_t tmp_qloop_87 = tmp_qloop_69*tmp_qloop_80;
+                   const real_t tmp_qloop_88 = tmp_qloop_26*tmp_qloop_35;
+                   const real_t tmp_qloop_89 = tmp_qloop_43*tmp_qloop_88;
+                   const real_t tmp_qloop_90 = tmp_qloop_51*tmp_qloop_88;
+                   const real_t tmp_qloop_91 = tmp_qloop_59*tmp_qloop_88;
+                   const real_t tmp_qloop_92 = tmp_qloop_62*tmp_qloop_88;
+                   const real_t tmp_qloop_93 = tmp_qloop_66*tmp_qloop_88;
+                   const real_t tmp_qloop_94 = tmp_qloop_69*tmp_qloop_88;
+                   const real_t tmp_qloop_95 = tmp_qloop_26*tmp_qloop_43;
+                   const real_t tmp_qloop_96 = tmp_qloop_51*tmp_qloop_95;
+                   const real_t tmp_qloop_97 = tmp_qloop_59*tmp_qloop_95;
+                   const real_t tmp_qloop_98 = tmp_qloop_62*tmp_qloop_95;
+                   const real_t tmp_qloop_99 = tmp_qloop_66*tmp_qloop_95;
+                   const real_t tmp_qloop_100 = tmp_qloop_69*tmp_qloop_95;
+                   const real_t tmp_qloop_101 = tmp_qloop_26*tmp_qloop_51;
+                   const real_t tmp_qloop_102 = tmp_qloop_101*tmp_qloop_59;
+                   const real_t tmp_qloop_103 = tmp_qloop_101*tmp_qloop_62;
+                   const real_t tmp_qloop_104 = tmp_qloop_101*tmp_qloop_66;
+                   const real_t tmp_qloop_105 = tmp_qloop_101*tmp_qloop_69;
+                   const real_t tmp_qloop_106 = tmp_qloop_26*tmp_qloop_59;
+                   const real_t tmp_qloop_107 = tmp_qloop_106*tmp_qloop_62;
+                   const real_t tmp_qloop_108 = tmp_qloop_106*tmp_qloop_66;
+                   const real_t tmp_qloop_109 = tmp_qloop_106*tmp_qloop_69;
+                   const real_t tmp_qloop_110 = tmp_qloop_26*tmp_qloop_62;
+                   const real_t tmp_qloop_111 = tmp_qloop_110*tmp_qloop_66;
+                   const real_t tmp_qloop_112 = tmp_qloop_110*tmp_qloop_69;
+                   const real_t tmp_qloop_113 = tmp_qloop_26*tmp_qloop_66*tmp_qloop_69;
+                   const real_t q_tmp_0_0 = (tmp_qloop_25*tmp_qloop_25)*tmp_qloop_26;
+                   const real_t q_tmp_0_1 = tmp_qloop_30;
+                   const real_t q_tmp_0_2 = tmp_qloop_33;
+                   const real_t q_tmp_0_3 = tmp_qloop_36;
+                   const real_t q_tmp_0_4 = tmp_qloop_44;
+                   const real_t q_tmp_0_5 = tmp_qloop_52;
+                   const real_t q_tmp_0_6 = tmp_qloop_60;
+                   const real_t q_tmp_0_7 = tmp_qloop_63;
+                   const real_t q_tmp_0_8 = tmp_qloop_67;
+                   const real_t q_tmp_0_9 = tmp_qloop_70;
+                   const real_t q_tmp_1_0 = tmp_qloop_30;
+                   const real_t q_tmp_1_1 = tmp_qloop_26*(tmp_qloop_28*tmp_qloop_28);
+                   const real_t q_tmp_1_2 = tmp_qloop_72;
+                   const real_t q_tmp_1_3 = tmp_qloop_73;
+                   const real_t q_tmp_1_4 = tmp_qloop_74;
+                   const real_t q_tmp_1_5 = tmp_qloop_75;
+                   const real_t q_tmp_1_6 = tmp_qloop_76;
+                   const real_t q_tmp_1_7 = tmp_qloop_77;
+                   const real_t q_tmp_1_8 = tmp_qloop_78;
+                   const real_t q_tmp_1_9 = tmp_qloop_79;
+                   const real_t q_tmp_2_0 = tmp_qloop_33;
+                   const real_t q_tmp_2_1 = tmp_qloop_72;
+                   const real_t q_tmp_2_2 = tmp_qloop_26*(tmp_qloop_32*tmp_qloop_32);
+                   const real_t q_tmp_2_3 = tmp_qloop_81;
+                   const real_t q_tmp_2_4 = tmp_qloop_82;
+                   const real_t q_tmp_2_5 = tmp_qloop_83;
+                   const real_t q_tmp_2_6 = tmp_qloop_84;
+                   const real_t q_tmp_2_7 = tmp_qloop_85;
+                   const real_t q_tmp_2_8 = tmp_qloop_86;
+                   const real_t q_tmp_2_9 = tmp_qloop_87;
+                   const real_t q_tmp_3_0 = tmp_qloop_36;
+                   const real_t q_tmp_3_1 = tmp_qloop_73;
+                   const real_t q_tmp_3_2 = tmp_qloop_81;
+                   const real_t q_tmp_3_3 = tmp_qloop_26*(tmp_qloop_35*tmp_qloop_35);
+                   const real_t q_tmp_3_4 = tmp_qloop_89;
+                   const real_t q_tmp_3_5 = tmp_qloop_90;
+                   const real_t q_tmp_3_6 = tmp_qloop_91;
+                   const real_t q_tmp_3_7 = tmp_qloop_92;
+                   const real_t q_tmp_3_8 = tmp_qloop_93;
+                   const real_t q_tmp_3_9 = tmp_qloop_94;
+                   const real_t q_tmp_4_0 = tmp_qloop_44;
+                   const real_t q_tmp_4_1 = tmp_qloop_74;
+                   const real_t q_tmp_4_2 = tmp_qloop_82;
+                   const real_t q_tmp_4_3 = tmp_qloop_89;
+                   const real_t q_tmp_4_4 = tmp_qloop_26*(tmp_qloop_43*tmp_qloop_43);
+                   const real_t q_tmp_4_5 = tmp_qloop_96;
+                   const real_t q_tmp_4_6 = tmp_qloop_97;
+                   const real_t q_tmp_4_7 = tmp_qloop_98;
+                   const real_t q_tmp_4_8 = tmp_qloop_99;
+                   const real_t q_tmp_4_9 = tmp_qloop_100;
+                   const real_t q_tmp_5_0 = tmp_qloop_52;
+                   const real_t q_tmp_5_1 = tmp_qloop_75;
+                   const real_t q_tmp_5_2 = tmp_qloop_83;
+                   const real_t q_tmp_5_3 = tmp_qloop_90;
+                   const real_t q_tmp_5_4 = tmp_qloop_96;
+                   const real_t q_tmp_5_5 = tmp_qloop_26*(tmp_qloop_51*tmp_qloop_51);
+                   const real_t q_tmp_5_6 = tmp_qloop_102;
+                   const real_t q_tmp_5_7 = tmp_qloop_103;
+                   const real_t q_tmp_5_8 = tmp_qloop_104;
+                   const real_t q_tmp_5_9 = tmp_qloop_105;
+                   const real_t q_tmp_6_0 = tmp_qloop_60;
+                   const real_t q_tmp_6_1 = tmp_qloop_76;
+                   const real_t q_tmp_6_2 = tmp_qloop_84;
+                   const real_t q_tmp_6_3 = tmp_qloop_91;
+                   const real_t q_tmp_6_4 = tmp_qloop_97;
+                   const real_t q_tmp_6_5 = tmp_qloop_102;
+                   const real_t q_tmp_6_6 = tmp_qloop_26*(tmp_qloop_59*tmp_qloop_59);
+                   const real_t q_tmp_6_7 = tmp_qloop_107;
+                   const real_t q_tmp_6_8 = tmp_qloop_108;
+                   const real_t q_tmp_6_9 = tmp_qloop_109;
+                   const real_t q_tmp_7_0 = tmp_qloop_63;
+                   const real_t q_tmp_7_1 = tmp_qloop_77;
+                   const real_t q_tmp_7_2 = tmp_qloop_85;
+                   const real_t q_tmp_7_3 = tmp_qloop_92;
+                   const real_t q_tmp_7_4 = tmp_qloop_98;
+                   const real_t q_tmp_7_5 = tmp_qloop_103;
+                   const real_t q_tmp_7_6 = tmp_qloop_107;
+                   const real_t q_tmp_7_7 = tmp_qloop_26*(tmp_qloop_62*tmp_qloop_62);
+                   const real_t q_tmp_7_8 = tmp_qloop_111;
+                   const real_t q_tmp_7_9 = tmp_qloop_112;
+                   const real_t q_tmp_8_0 = tmp_qloop_67;
+                   const real_t q_tmp_8_1 = tmp_qloop_78;
+                   const real_t q_tmp_8_2 = tmp_qloop_86;
+                   const real_t q_tmp_8_3 = tmp_qloop_93;
+                   const real_t q_tmp_8_4 = tmp_qloop_99;
+                   const real_t q_tmp_8_5 = tmp_qloop_104;
+                   const real_t q_tmp_8_6 = tmp_qloop_108;
+                   const real_t q_tmp_8_7 = tmp_qloop_111;
+                   const real_t q_tmp_8_8 = tmp_qloop_26*(tmp_qloop_66*tmp_qloop_66);
+                   const real_t q_tmp_8_9 = tmp_qloop_113;
+                   const real_t q_tmp_9_0 = tmp_qloop_70;
+                   const real_t q_tmp_9_1 = tmp_qloop_79;
+                   const real_t q_tmp_9_2 = tmp_qloop_87;
+                   const real_t q_tmp_9_3 = tmp_qloop_94;
+                   const real_t q_tmp_9_4 = tmp_qloop_100;
+                   const real_t q_tmp_9_5 = tmp_qloop_105;
+                   const real_t q_tmp_9_6 = tmp_qloop_109;
+                   const real_t q_tmp_9_7 = tmp_qloop_112;
+                   const real_t q_tmp_9_8 = tmp_qloop_113;
+                   const real_t q_tmp_9_9 = tmp_qloop_26*(tmp_qloop_69*tmp_qloop_69);
+                   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;
+                   q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                   q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                   q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                   q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                   q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                   q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                   q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                   q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                   q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                   q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                   q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                   q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                   q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                   q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                   q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                   q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                   q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                   q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                   q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                   q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                   q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                   q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                   q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                   q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                   q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                   q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                   q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                   q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                   q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                   q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                   q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                   q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                   q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                   q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                   q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                   q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                   q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                   q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                   q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                   q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                   q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                   q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                   q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                   q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                   q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                   q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                   q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                   q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                   q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+                const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+                const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+                const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+                const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+                const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+                const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+                _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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))] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_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 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_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 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_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 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP;
+       const real_t tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP);
+       const real_t jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP);
+       const real_t jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP);
+       const real_t jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP);
+       const real_t jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP);
+       {
+          /* CellType.GREEN_UP */
+          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 cp_times_delta_dof_0 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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);
+                __m256d q_acc_4_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_1),_mm256_mul_pd(tmp_qloop_13,ux_dof_2)),_mm256_mul_pd(tmp_qloop_16,ux_dof_3)),_mm256_mul_pd(tmp_qloop_17,ux_dof_7)),_mm256_mul_pd(tmp_qloop_18,ux_dof_8)),_mm256_mul_pd(tmp_qloop_20,ux_dof_9)),_mm256_mul_pd(tmp_qloop_21,ux_dof_0)),_mm256_mul_pd(tmp_qloop_5,ux_dof_6)),_mm256_mul_pd(tmp_qloop_6,ux_dof_5)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_1),_mm256_mul_pd(tmp_qloop_13,uy_dof_2)),_mm256_mul_pd(tmp_qloop_16,uy_dof_3)),_mm256_mul_pd(tmp_qloop_17,uy_dof_7)),_mm256_mul_pd(tmp_qloop_18,uy_dof_8)),_mm256_mul_pd(tmp_qloop_20,uy_dof_9)),_mm256_mul_pd(tmp_qloop_21,uy_dof_0)),_mm256_mul_pd(tmp_qloop_5,uy_dof_6)),_mm256_mul_pd(tmp_qloop_6,uy_dof_5)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_1),_mm256_mul_pd(tmp_qloop_13,uz_dof_2)),_mm256_mul_pd(tmp_qloop_16,uz_dof_3)),_mm256_mul_pd(tmp_qloop_17,uz_dof_7)),_mm256_mul_pd(tmp_qloop_18,uz_dof_8)),_mm256_mul_pd(tmp_qloop_20,uz_dof_9)),_mm256_mul_pd(tmp_qloop_21,uz_dof_0)),_mm256_mul_pd(tmp_qloop_5,uz_dof_6)),_mm256_mul_pd(tmp_qloop_6,uz_dof_5)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4));
+                   const __m256d tmp_qloop_25 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))));
+                   const __m256d tmp_qloop_26 = _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(cp_times_delta_dof_0,tmp_qloop_21),_mm256_mul_pd(cp_times_delta_dof_1,tmp_qloop_10)),_mm256_mul_pd(cp_times_delta_dof_2,tmp_qloop_13)),_mm256_mul_pd(cp_times_delta_dof_3,tmp_qloop_16)),_mm256_mul_pd(cp_times_delta_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_times_delta_dof_5,tmp_qloop_6)),_mm256_mul_pd(cp_times_delta_dof_6,tmp_qloop_5)),_mm256_mul_pd(cp_times_delta_dof_7,tmp_qloop_17)),_mm256_mul_pd(cp_times_delta_dof_8,tmp_qloop_18)),_mm256_mul_pd(cp_times_delta_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP));
+                   const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)));
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_26);
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_28,tmp_qloop_29);
+                   const __m256d tmp_qloop_31 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_32 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_31),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_31),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_31),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_32);
+                   const __m256d tmp_qloop_34 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_35 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_34),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_34),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_34),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_35);
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP));
+                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP));
+                   const __m256d tmp_qloop_43 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_43);
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP));
+                   const __m256d tmp_qloop_47 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP));
+                   const __m256d tmp_qloop_48 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP));
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP));
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP));
+                   const __m256d tmp_qloop_51 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_47,tmp_qloop_48))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_49,tmp_qloop_50)));
+                   const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_51);
+                   const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP));
+                   const __m256d tmp_qloop_54 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP));
+                   const __m256d tmp_qloop_55 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP));
+                   const __m256d tmp_qloop_56 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP));
+                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP));
+                   const __m256d tmp_qloop_58 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP));
+                   const __m256d tmp_qloop_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_53,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_55,tmp_qloop_56))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_57,tmp_qloop_58)));
+                   const __m256d tmp_qloop_60 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_59);
+                   const __m256d tmp_qloop_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_62 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))));
+                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_62);
+                   const __m256d tmp_qloop_64 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_65 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_66 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_54,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_65,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_65,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_65,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)))));
+                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_66);
+                   const __m256d tmp_qloop_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)))));
+                   const __m256d tmp_qloop_70 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_69);
+                   const __m256d tmp_qloop_71 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_28);
+                   const __m256d tmp_qloop_72 = _mm256_mul_pd(tmp_qloop_32,tmp_qloop_71);
+                   const __m256d tmp_qloop_73 = _mm256_mul_pd(tmp_qloop_35,tmp_qloop_71);
+                   const __m256d tmp_qloop_74 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_71);
+                   const __m256d tmp_qloop_75 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_71);
+                   const __m256d tmp_qloop_76 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_71);
+                   const __m256d tmp_qloop_77 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_71);
+                   const __m256d tmp_qloop_78 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_71);
+                   const __m256d tmp_qloop_79 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_71);
+                   const __m256d tmp_qloop_80 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_32);
+                   const __m256d tmp_qloop_81 = _mm256_mul_pd(tmp_qloop_35,tmp_qloop_80);
+                   const __m256d tmp_qloop_82 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_80);
+                   const __m256d tmp_qloop_83 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_80);
+                   const __m256d tmp_qloop_84 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_80);
+                   const __m256d tmp_qloop_85 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_80);
+                   const __m256d tmp_qloop_86 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_80);
+                   const __m256d tmp_qloop_87 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_80);
+                   const __m256d tmp_qloop_88 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_35);
+                   const __m256d tmp_qloop_89 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_88);
+                   const __m256d tmp_qloop_90 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_88);
+                   const __m256d tmp_qloop_91 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_88);
+                   const __m256d tmp_qloop_92 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_88);
+                   const __m256d tmp_qloop_93 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_88);
+                   const __m256d tmp_qloop_94 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_88);
+                   const __m256d tmp_qloop_95 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_43);
+                   const __m256d tmp_qloop_96 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_95);
+                   const __m256d tmp_qloop_97 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_95);
+                   const __m256d tmp_qloop_98 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_95);
+                   const __m256d tmp_qloop_99 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_95);
+                   const __m256d tmp_qloop_100 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_95);
+                   const __m256d tmp_qloop_101 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_51);
+                   const __m256d tmp_qloop_102 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_59);
+                   const __m256d tmp_qloop_103 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_62);
+                   const __m256d tmp_qloop_104 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_66);
+                   const __m256d tmp_qloop_105 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_69);
+                   const __m256d tmp_qloop_106 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_59);
+                   const __m256d tmp_qloop_107 = _mm256_mul_pd(tmp_qloop_106,tmp_qloop_62);
+                   const __m256d tmp_qloop_108 = _mm256_mul_pd(tmp_qloop_106,tmp_qloop_66);
+                   const __m256d tmp_qloop_109 = _mm256_mul_pd(tmp_qloop_106,tmp_qloop_69);
+                   const __m256d tmp_qloop_110 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_62);
+                   const __m256d tmp_qloop_111 = _mm256_mul_pd(tmp_qloop_110,tmp_qloop_66);
+                   const __m256d tmp_qloop_112 = _mm256_mul_pd(tmp_qloop_110,tmp_qloop_69);
+                   const __m256d tmp_qloop_113 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_26,tmp_qloop_66),tmp_qloop_69);
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_25,tmp_qloop_25),tmp_qloop_26);
+                   const __m256d q_tmp_0_1 = tmp_qloop_30;
+                   const __m256d q_tmp_0_2 = tmp_qloop_33;
+                   const __m256d q_tmp_0_3 = tmp_qloop_36;
+                   const __m256d q_tmp_0_4 = tmp_qloop_44;
+                   const __m256d q_tmp_0_5 = tmp_qloop_52;
+                   const __m256d q_tmp_0_6 = tmp_qloop_60;
+                   const __m256d q_tmp_0_7 = tmp_qloop_63;
+                   const __m256d q_tmp_0_8 = tmp_qloop_67;
+                   const __m256d q_tmp_0_9 = tmp_qloop_70;
+                   const __m256d q_tmp_1_0 = tmp_qloop_30;
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_28,tmp_qloop_28));
+                   const __m256d q_tmp_1_2 = tmp_qloop_72;
+                   const __m256d q_tmp_1_3 = tmp_qloop_73;
+                   const __m256d q_tmp_1_4 = tmp_qloop_74;
+                   const __m256d q_tmp_1_5 = tmp_qloop_75;
+                   const __m256d q_tmp_1_6 = tmp_qloop_76;
+                   const __m256d q_tmp_1_7 = tmp_qloop_77;
+                   const __m256d q_tmp_1_8 = tmp_qloop_78;
+                   const __m256d q_tmp_1_9 = tmp_qloop_79;
+                   const __m256d q_tmp_2_0 = tmp_qloop_33;
+                   const __m256d q_tmp_2_1 = tmp_qloop_72;
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_32,tmp_qloop_32));
+                   const __m256d q_tmp_2_3 = tmp_qloop_81;
+                   const __m256d q_tmp_2_4 = tmp_qloop_82;
+                   const __m256d q_tmp_2_5 = tmp_qloop_83;
+                   const __m256d q_tmp_2_6 = tmp_qloop_84;
+                   const __m256d q_tmp_2_7 = tmp_qloop_85;
+                   const __m256d q_tmp_2_8 = tmp_qloop_86;
+                   const __m256d q_tmp_2_9 = tmp_qloop_87;
+                   const __m256d q_tmp_3_0 = tmp_qloop_36;
+                   const __m256d q_tmp_3_1 = tmp_qloop_73;
+                   const __m256d q_tmp_3_2 = tmp_qloop_81;
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_35,tmp_qloop_35));
+                   const __m256d q_tmp_3_4 = tmp_qloop_89;
+                   const __m256d q_tmp_3_5 = tmp_qloop_90;
+                   const __m256d q_tmp_3_6 = tmp_qloop_91;
+                   const __m256d q_tmp_3_7 = tmp_qloop_92;
+                   const __m256d q_tmp_3_8 = tmp_qloop_93;
+                   const __m256d q_tmp_3_9 = tmp_qloop_94;
+                   const __m256d q_tmp_4_0 = tmp_qloop_44;
+                   const __m256d q_tmp_4_1 = tmp_qloop_74;
+                   const __m256d q_tmp_4_2 = tmp_qloop_82;
+                   const __m256d q_tmp_4_3 = tmp_qloop_89;
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_43,tmp_qloop_43));
+                   const __m256d q_tmp_4_5 = tmp_qloop_96;
+                   const __m256d q_tmp_4_6 = tmp_qloop_97;
+                   const __m256d q_tmp_4_7 = tmp_qloop_98;
+                   const __m256d q_tmp_4_8 = tmp_qloop_99;
+                   const __m256d q_tmp_4_9 = tmp_qloop_100;
+                   const __m256d q_tmp_5_0 = tmp_qloop_52;
+                   const __m256d q_tmp_5_1 = tmp_qloop_75;
+                   const __m256d q_tmp_5_2 = tmp_qloop_83;
+                   const __m256d q_tmp_5_3 = tmp_qloop_90;
+                   const __m256d q_tmp_5_4 = tmp_qloop_96;
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_51,tmp_qloop_51));
+                   const __m256d q_tmp_5_6 = tmp_qloop_102;
+                   const __m256d q_tmp_5_7 = tmp_qloop_103;
+                   const __m256d q_tmp_5_8 = tmp_qloop_104;
+                   const __m256d q_tmp_5_9 = tmp_qloop_105;
+                   const __m256d q_tmp_6_0 = tmp_qloop_60;
+                   const __m256d q_tmp_6_1 = tmp_qloop_76;
+                   const __m256d q_tmp_6_2 = tmp_qloop_84;
+                   const __m256d q_tmp_6_3 = tmp_qloop_91;
+                   const __m256d q_tmp_6_4 = tmp_qloop_97;
+                   const __m256d q_tmp_6_5 = tmp_qloop_102;
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_59,tmp_qloop_59));
+                   const __m256d q_tmp_6_7 = tmp_qloop_107;
+                   const __m256d q_tmp_6_8 = tmp_qloop_108;
+                   const __m256d q_tmp_6_9 = tmp_qloop_109;
+                   const __m256d q_tmp_7_0 = tmp_qloop_63;
+                   const __m256d q_tmp_7_1 = tmp_qloop_77;
+                   const __m256d q_tmp_7_2 = tmp_qloop_85;
+                   const __m256d q_tmp_7_3 = tmp_qloop_92;
+                   const __m256d q_tmp_7_4 = tmp_qloop_98;
+                   const __m256d q_tmp_7_5 = tmp_qloop_103;
+                   const __m256d q_tmp_7_6 = tmp_qloop_107;
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_62,tmp_qloop_62));
+                   const __m256d q_tmp_7_8 = tmp_qloop_111;
+                   const __m256d q_tmp_7_9 = tmp_qloop_112;
+                   const __m256d q_tmp_8_0 = tmp_qloop_67;
+                   const __m256d q_tmp_8_1 = tmp_qloop_78;
+                   const __m256d q_tmp_8_2 = tmp_qloop_86;
+                   const __m256d q_tmp_8_3 = tmp_qloop_93;
+                   const __m256d q_tmp_8_4 = tmp_qloop_99;
+                   const __m256d q_tmp_8_5 = tmp_qloop_104;
+                   const __m256d q_tmp_8_6 = tmp_qloop_108;
+                   const __m256d q_tmp_8_7 = tmp_qloop_111;
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_66,tmp_qloop_66));
+                   const __m256d q_tmp_8_9 = tmp_qloop_113;
+                   const __m256d q_tmp_9_0 = tmp_qloop_70;
+                   const __m256d q_tmp_9_1 = tmp_qloop_79;
+                   const __m256d q_tmp_9_2 = tmp_qloop_87;
+                   const __m256d q_tmp_9_3 = tmp_qloop_94;
+                   const __m256d q_tmp_9_4 = tmp_qloop_100;
+                   const __m256d q_tmp_9_5 = tmp_qloop_105;
+                   const __m256d q_tmp_9_6 = tmp_qloop_109;
+                   const __m256d q_tmp_9_7 = tmp_qloop_112;
+                   const __m256d q_tmp_9_8 = tmp_qloop_113;
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_69,tmp_qloop_69));
+                   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);
+                   q_acc_4_0 = _mm256_add_pd(q_acc_4_0,q_tmp_4_0);
+                   q_acc_4_1 = _mm256_add_pd(q_acc_4_1,q_tmp_4_1);
+                   q_acc_4_2 = _mm256_add_pd(q_acc_4_2,q_tmp_4_2);
+                   q_acc_4_3 = _mm256_add_pd(q_acc_4_3,q_tmp_4_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5);
+                   q_acc_4_6 = _mm256_add_pd(q_acc_4_6,q_tmp_4_6);
+                   q_acc_4_7 = _mm256_add_pd(q_acc_4_7,q_tmp_4_7);
+                   q_acc_4_8 = _mm256_add_pd(q_acc_4_8,q_tmp_4_8);
+                   q_acc_4_9 = _mm256_add_pd(q_acc_4_9,q_tmp_4_9);
+                   q_acc_5_0 = _mm256_add_pd(q_acc_5_0,q_tmp_5_0);
+                   q_acc_5_1 = _mm256_add_pd(q_acc_5_1,q_tmp_5_1);
+                   q_acc_5_2 = _mm256_add_pd(q_acc_5_2,q_tmp_5_2);
+                   q_acc_5_3 = _mm256_add_pd(q_acc_5_3,q_tmp_5_3);
+                   q_acc_5_4 = _mm256_add_pd(q_acc_5_4,q_tmp_5_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_5_6 = _mm256_add_pd(q_acc_5_6,q_tmp_5_6);
+                   q_acc_5_7 = _mm256_add_pd(q_acc_5_7,q_tmp_5_7);
+                   q_acc_5_8 = _mm256_add_pd(q_acc_5_8,q_tmp_5_8);
+                   q_acc_5_9 = _mm256_add_pd(q_acc_5_9,q_tmp_5_9);
+                   q_acc_6_0 = _mm256_add_pd(q_acc_6_0,q_tmp_6_0);
+                   q_acc_6_1 = _mm256_add_pd(q_acc_6_1,q_tmp_6_1);
+                   q_acc_6_2 = _mm256_add_pd(q_acc_6_2,q_tmp_6_2);
+                   q_acc_6_3 = _mm256_add_pd(q_acc_6_3,q_tmp_6_3);
+                   q_acc_6_4 = _mm256_add_pd(q_acc_6_4,q_tmp_6_4);
+                   q_acc_6_5 = _mm256_add_pd(q_acc_6_5,q_tmp_6_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_6_7 = _mm256_add_pd(q_acc_6_7,q_tmp_6_7);
+                   q_acc_6_8 = _mm256_add_pd(q_acc_6_8,q_tmp_6_8);
+                   q_acc_6_9 = _mm256_add_pd(q_acc_6_9,q_tmp_6_9);
+                   q_acc_7_0 = _mm256_add_pd(q_acc_7_0,q_tmp_7_0);
+                   q_acc_7_1 = _mm256_add_pd(q_acc_7_1,q_tmp_7_1);
+                   q_acc_7_2 = _mm256_add_pd(q_acc_7_2,q_tmp_7_2);
+                   q_acc_7_3 = _mm256_add_pd(q_acc_7_3,q_tmp_7_3);
+                   q_acc_7_4 = _mm256_add_pd(q_acc_7_4,q_tmp_7_4);
+                   q_acc_7_5 = _mm256_add_pd(q_acc_7_5,q_tmp_7_5);
+                   q_acc_7_6 = _mm256_add_pd(q_acc_7_6,q_tmp_7_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_7_8 = _mm256_add_pd(q_acc_7_8,q_tmp_7_8);
+                   q_acc_7_9 = _mm256_add_pd(q_acc_7_9,q_tmp_7_9);
+                   q_acc_8_0 = _mm256_add_pd(q_acc_8_0,q_tmp_8_0);
+                   q_acc_8_1 = _mm256_add_pd(q_acc_8_1,q_tmp_8_1);
+                   q_acc_8_2 = _mm256_add_pd(q_acc_8_2,q_tmp_8_2);
+                   q_acc_8_3 = _mm256_add_pd(q_acc_8_3,q_tmp_8_3);
+                   q_acc_8_4 = _mm256_add_pd(q_acc_8_4,q_tmp_8_4);
+                   q_acc_8_5 = _mm256_add_pd(q_acc_8_5,q_tmp_8_5);
+                   q_acc_8_6 = _mm256_add_pd(q_acc_8_6,q_tmp_8_6);
+                   q_acc_8_7 = _mm256_add_pd(q_acc_8_7,q_tmp_8_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_8_9 = _mm256_add_pd(q_acc_8_9,q_tmp_8_9);
+                   q_acc_9_0 = _mm256_add_pd(q_acc_9_0,q_tmp_9_0);
+                   q_acc_9_1 = _mm256_add_pd(q_acc_9_1,q_tmp_9_1);
+                   q_acc_9_2 = _mm256_add_pd(q_acc_9_2,q_tmp_9_2);
+                   q_acc_9_3 = _mm256_add_pd(q_acc_9_3,q_tmp_9_3);
+                   q_acc_9_4 = _mm256_add_pd(q_acc_9_4,q_tmp_9_4);
+                   q_acc_9_5 = _mm256_add_pd(q_acc_9_5,q_tmp_9_5);
+                   q_acc_9_6 = _mm256_add_pd(q_acc_9_6,q_tmp_9_6);
+                   q_acc_9_7 = _mm256_add_pd(q_acc_9_7,q_tmp_9_7);
+                   q_acc_9_8 = _mm256_add_pd(q_acc_9_8,q_tmp_9_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_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));
+                const __m256d elMatVec_4 = _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_4_0,src_dof_0),_mm256_mul_pd(q_acc_4_1,src_dof_1)),_mm256_mul_pd(q_acc_4_2,src_dof_2)),_mm256_mul_pd(q_acc_4_3,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)),_mm256_mul_pd(q_acc_4_6,src_dof_6)),_mm256_mul_pd(q_acc_4_7,src_dof_7)),_mm256_mul_pd(q_acc_4_8,src_dof_8)),_mm256_mul_pd(q_acc_4_9,src_dof_9));
+                const __m256d elMatVec_5 = _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_5_0,src_dof_0),_mm256_mul_pd(q_acc_5_1,src_dof_1)),_mm256_mul_pd(q_acc_5_2,src_dof_2)),_mm256_mul_pd(q_acc_5_3,src_dof_3)),_mm256_mul_pd(q_acc_5_4,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)),_mm256_mul_pd(q_acc_5_6,src_dof_6)),_mm256_mul_pd(q_acc_5_7,src_dof_7)),_mm256_mul_pd(q_acc_5_8,src_dof_8)),_mm256_mul_pd(q_acc_5_9,src_dof_9));
+                const __m256d elMatVec_6 = _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_6_0,src_dof_0),_mm256_mul_pd(q_acc_6_1,src_dof_1)),_mm256_mul_pd(q_acc_6_2,src_dof_2)),_mm256_mul_pd(q_acc_6_3,src_dof_3)),_mm256_mul_pd(q_acc_6_4,src_dof_4)),_mm256_mul_pd(q_acc_6_5,src_dof_5)),_mm256_mul_pd(q_acc_6_6,src_dof_6)),_mm256_mul_pd(q_acc_6_7,src_dof_7)),_mm256_mul_pd(q_acc_6_8,src_dof_8)),_mm256_mul_pd(q_acc_6_9,src_dof_9));
+                const __m256d elMatVec_7 = _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_7_0,src_dof_0),_mm256_mul_pd(q_acc_7_1,src_dof_1)),_mm256_mul_pd(q_acc_7_2,src_dof_2)),_mm256_mul_pd(q_acc_7_3,src_dof_3)),_mm256_mul_pd(q_acc_7_4,src_dof_4)),_mm256_mul_pd(q_acc_7_5,src_dof_5)),_mm256_mul_pd(q_acc_7_6,src_dof_6)),_mm256_mul_pd(q_acc_7_7,src_dof_7)),_mm256_mul_pd(q_acc_7_8,src_dof_8)),_mm256_mul_pd(q_acc_7_9,src_dof_9));
+                const __m256d elMatVec_8 = _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_8_0,src_dof_0),_mm256_mul_pd(q_acc_8_1,src_dof_1)),_mm256_mul_pd(q_acc_8_2,src_dof_2)),_mm256_mul_pd(q_acc_8_3,src_dof_3)),_mm256_mul_pd(q_acc_8_4,src_dof_4)),_mm256_mul_pd(q_acc_8_5,src_dof_5)),_mm256_mul_pd(q_acc_8_6,src_dof_6)),_mm256_mul_pd(q_acc_8_7,src_dof_7)),_mm256_mul_pd(q_acc_8_8,src_dof_8)),_mm256_mul_pd(q_acc_8_9,src_dof_9));
+                const __m256d elMatVec_9 = _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_9_0,src_dof_0),_mm256_mul_pd(q_acc_9_1,src_dof_1)),_mm256_mul_pd(q_acc_9_2,src_dof_2)),_mm256_mul_pd(q_acc_9_3,src_dof_3)),_mm256_mul_pd(q_acc_9_4,src_dof_4)),_mm256_mul_pd(q_acc_9_5,src_dof_5)),_mm256_mul_pd(q_acc_9_6,src_dof_6)),_mm256_mul_pd(q_acc_9_7,src_dof_7)),_mm256_mul_pd(q_acc_9_8,src_dof_8)),_mm256_mul_pd(q_acc_9_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_6,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_7,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_8,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_9,_mm256_loadu_pd(& _data_dstEdge[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))])));
+             }
+             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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+                real_t q_acc_4_0 = 0.0;
+                real_t q_acc_4_1 = 0.0;
+                real_t q_acc_4_2 = 0.0;
+                real_t q_acc_4_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_4_5 = 0.0;
+                real_t q_acc_4_6 = 0.0;
+                real_t q_acc_4_7 = 0.0;
+                real_t q_acc_4_8 = 0.0;
+                real_t q_acc_4_9 = 0.0;
+                real_t q_acc_5_0 = 0.0;
+                real_t q_acc_5_1 = 0.0;
+                real_t q_acc_5_2 = 0.0;
+                real_t q_acc_5_3 = 0.0;
+                real_t q_acc_5_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_5_6 = 0.0;
+                real_t q_acc_5_7 = 0.0;
+                real_t q_acc_5_8 = 0.0;
+                real_t q_acc_5_9 = 0.0;
+                real_t q_acc_6_0 = 0.0;
+                real_t q_acc_6_1 = 0.0;
+                real_t q_acc_6_2 = 0.0;
+                real_t q_acc_6_3 = 0.0;
+                real_t q_acc_6_4 = 0.0;
+                real_t q_acc_6_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_6_7 = 0.0;
+                real_t q_acc_6_8 = 0.0;
+                real_t q_acc_6_9 = 0.0;
+                real_t q_acc_7_0 = 0.0;
+                real_t q_acc_7_1 = 0.0;
+                real_t q_acc_7_2 = 0.0;
+                real_t q_acc_7_3 = 0.0;
+                real_t q_acc_7_4 = 0.0;
+                real_t q_acc_7_5 = 0.0;
+                real_t q_acc_7_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_7_8 = 0.0;
+                real_t q_acc_7_9 = 0.0;
+                real_t q_acc_8_0 = 0.0;
+                real_t q_acc_8_1 = 0.0;
+                real_t q_acc_8_2 = 0.0;
+                real_t q_acc_8_3 = 0.0;
+                real_t q_acc_8_4 = 0.0;
+                real_t q_acc_8_5 = 0.0;
+                real_t q_acc_8_6 = 0.0;
+                real_t q_acc_8_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_8_9 = 0.0;
+                real_t q_acc_9_0 = 0.0;
+                real_t q_acc_9_1 = 0.0;
+                real_t q_acc_9_2 = 0.0;
+                real_t q_acc_9_3 = 0.0;
+                real_t q_acc_9_4 = 0.0;
+                real_t q_acc_9_5 = 0.0;
+                real_t q_acc_9_6 = 0.0;
+                real_t q_acc_9_7 = 0.0;
+                real_t q_acc_9_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                   const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_4);
+                   const real_t tmp_qloop_26 = abs_det_jac_affine_GREEN_UP*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_27 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_28 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_0_1_GREEN_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_0_2_GREEN_UP*tmp_qloop_24*tmp_qloop_27;
+                   const real_t tmp_qloop_29 = tmp_qloop_25*tmp_qloop_26;
+                   const real_t tmp_qloop_30 = tmp_qloop_28*tmp_qloop_29;
+                   const real_t tmp_qloop_31 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_32 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_22*tmp_qloop_31 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_23*tmp_qloop_31 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_24*tmp_qloop_31;
+                   const real_t tmp_qloop_33 = tmp_qloop_29*tmp_qloop_32;
+                   const real_t tmp_qloop_34 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_35 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_22*tmp_qloop_34 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_23*tmp_qloop_34 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_24*tmp_qloop_34;
+                   const real_t tmp_qloop_36 = tmp_qloop_29*tmp_qloop_35;
+                   const real_t tmp_qloop_37 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_38 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_39 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_40 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_41 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_42 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_43 = tmp_qloop_22*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_23*(tmp_qloop_39 + tmp_qloop_40) + tmp_qloop_24*(tmp_qloop_41 + tmp_qloop_42);
+                   const real_t tmp_qloop_44 = tmp_qloop_29*tmp_qloop_43;
+                   const real_t tmp_qloop_45 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_47 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_48 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_49 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_50 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_51 = tmp_qloop_22*(tmp_qloop_45 + tmp_qloop_46) + tmp_qloop_23*(tmp_qloop_47 + tmp_qloop_48) + tmp_qloop_24*(tmp_qloop_49 + tmp_qloop_50);
+                   const real_t tmp_qloop_52 = tmp_qloop_29*tmp_qloop_51;
+                   const real_t tmp_qloop_53 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_54 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_55 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_56 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_57 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_58 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_59 = tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58);
+                   const real_t tmp_qloop_60 = tmp_qloop_29*tmp_qloop_59;
+                   const real_t tmp_qloop_61 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_62 = tmp_qloop_22*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_61 - tmp_qloop_38 - tmp_qloop_46) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_61 - tmp_qloop_40 - tmp_qloop_48) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_61 - tmp_qloop_42 - tmp_qloop_50);
+                   const real_t tmp_qloop_63 = tmp_qloop_29*tmp_qloop_62;
+                   const real_t tmp_qloop_64 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_65 = -tmp_qloop_1 - tmp_qloop_64 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_66 = tmp_qloop_22*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_65 - tmp_qloop_37 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_65 - tmp_qloop_39 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_65 - tmp_qloop_41 - tmp_qloop_58);
+                   const real_t tmp_qloop_67 = tmp_qloop_29*tmp_qloop_66;
+                   const real_t tmp_qloop_68 = -tmp_qloop_2 - tmp_qloop_64 - 8.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_69 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_53) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_55) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_57);
+                   const real_t tmp_qloop_70 = tmp_qloop_29*tmp_qloop_69;
+                   const real_t tmp_qloop_71 = tmp_qloop_26*tmp_qloop_28;
+                   const real_t tmp_qloop_72 = tmp_qloop_32*tmp_qloop_71;
+                   const real_t tmp_qloop_73 = tmp_qloop_35*tmp_qloop_71;
+                   const real_t tmp_qloop_74 = tmp_qloop_43*tmp_qloop_71;
+                   const real_t tmp_qloop_75 = tmp_qloop_51*tmp_qloop_71;
+                   const real_t tmp_qloop_76 = tmp_qloop_59*tmp_qloop_71;
+                   const real_t tmp_qloop_77 = tmp_qloop_62*tmp_qloop_71;
+                   const real_t tmp_qloop_78 = tmp_qloop_66*tmp_qloop_71;
+                   const real_t tmp_qloop_79 = tmp_qloop_69*tmp_qloop_71;
+                   const real_t tmp_qloop_80 = tmp_qloop_26*tmp_qloop_32;
+                   const real_t tmp_qloop_81 = tmp_qloop_35*tmp_qloop_80;
+                   const real_t tmp_qloop_82 = tmp_qloop_43*tmp_qloop_80;
+                   const real_t tmp_qloop_83 = tmp_qloop_51*tmp_qloop_80;
+                   const real_t tmp_qloop_84 = tmp_qloop_59*tmp_qloop_80;
+                   const real_t tmp_qloop_85 = tmp_qloop_62*tmp_qloop_80;
+                   const real_t tmp_qloop_86 = tmp_qloop_66*tmp_qloop_80;
+                   const real_t tmp_qloop_87 = tmp_qloop_69*tmp_qloop_80;
+                   const real_t tmp_qloop_88 = tmp_qloop_26*tmp_qloop_35;
+                   const real_t tmp_qloop_89 = tmp_qloop_43*tmp_qloop_88;
+                   const real_t tmp_qloop_90 = tmp_qloop_51*tmp_qloop_88;
+                   const real_t tmp_qloop_91 = tmp_qloop_59*tmp_qloop_88;
+                   const real_t tmp_qloop_92 = tmp_qloop_62*tmp_qloop_88;
+                   const real_t tmp_qloop_93 = tmp_qloop_66*tmp_qloop_88;
+                   const real_t tmp_qloop_94 = tmp_qloop_69*tmp_qloop_88;
+                   const real_t tmp_qloop_95 = tmp_qloop_26*tmp_qloop_43;
+                   const real_t tmp_qloop_96 = tmp_qloop_51*tmp_qloop_95;
+                   const real_t tmp_qloop_97 = tmp_qloop_59*tmp_qloop_95;
+                   const real_t tmp_qloop_98 = tmp_qloop_62*tmp_qloop_95;
+                   const real_t tmp_qloop_99 = tmp_qloop_66*tmp_qloop_95;
+                   const real_t tmp_qloop_100 = tmp_qloop_69*tmp_qloop_95;
+                   const real_t tmp_qloop_101 = tmp_qloop_26*tmp_qloop_51;
+                   const real_t tmp_qloop_102 = tmp_qloop_101*tmp_qloop_59;
+                   const real_t tmp_qloop_103 = tmp_qloop_101*tmp_qloop_62;
+                   const real_t tmp_qloop_104 = tmp_qloop_101*tmp_qloop_66;
+                   const real_t tmp_qloop_105 = tmp_qloop_101*tmp_qloop_69;
+                   const real_t tmp_qloop_106 = tmp_qloop_26*tmp_qloop_59;
+                   const real_t tmp_qloop_107 = tmp_qloop_106*tmp_qloop_62;
+                   const real_t tmp_qloop_108 = tmp_qloop_106*tmp_qloop_66;
+                   const real_t tmp_qloop_109 = tmp_qloop_106*tmp_qloop_69;
+                   const real_t tmp_qloop_110 = tmp_qloop_26*tmp_qloop_62;
+                   const real_t tmp_qloop_111 = tmp_qloop_110*tmp_qloop_66;
+                   const real_t tmp_qloop_112 = tmp_qloop_110*tmp_qloop_69;
+                   const real_t tmp_qloop_113 = tmp_qloop_26*tmp_qloop_66*tmp_qloop_69;
+                   const real_t q_tmp_0_0 = (tmp_qloop_25*tmp_qloop_25)*tmp_qloop_26;
+                   const real_t q_tmp_0_1 = tmp_qloop_30;
+                   const real_t q_tmp_0_2 = tmp_qloop_33;
+                   const real_t q_tmp_0_3 = tmp_qloop_36;
+                   const real_t q_tmp_0_4 = tmp_qloop_44;
+                   const real_t q_tmp_0_5 = tmp_qloop_52;
+                   const real_t q_tmp_0_6 = tmp_qloop_60;
+                   const real_t q_tmp_0_7 = tmp_qloop_63;
+                   const real_t q_tmp_0_8 = tmp_qloop_67;
+                   const real_t q_tmp_0_9 = tmp_qloop_70;
+                   const real_t q_tmp_1_0 = tmp_qloop_30;
+                   const real_t q_tmp_1_1 = tmp_qloop_26*(tmp_qloop_28*tmp_qloop_28);
+                   const real_t q_tmp_1_2 = tmp_qloop_72;
+                   const real_t q_tmp_1_3 = tmp_qloop_73;
+                   const real_t q_tmp_1_4 = tmp_qloop_74;
+                   const real_t q_tmp_1_5 = tmp_qloop_75;
+                   const real_t q_tmp_1_6 = tmp_qloop_76;
+                   const real_t q_tmp_1_7 = tmp_qloop_77;
+                   const real_t q_tmp_1_8 = tmp_qloop_78;
+                   const real_t q_tmp_1_9 = tmp_qloop_79;
+                   const real_t q_tmp_2_0 = tmp_qloop_33;
+                   const real_t q_tmp_2_1 = tmp_qloop_72;
+                   const real_t q_tmp_2_2 = tmp_qloop_26*(tmp_qloop_32*tmp_qloop_32);
+                   const real_t q_tmp_2_3 = tmp_qloop_81;
+                   const real_t q_tmp_2_4 = tmp_qloop_82;
+                   const real_t q_tmp_2_5 = tmp_qloop_83;
+                   const real_t q_tmp_2_6 = tmp_qloop_84;
+                   const real_t q_tmp_2_7 = tmp_qloop_85;
+                   const real_t q_tmp_2_8 = tmp_qloop_86;
+                   const real_t q_tmp_2_9 = tmp_qloop_87;
+                   const real_t q_tmp_3_0 = tmp_qloop_36;
+                   const real_t q_tmp_3_1 = tmp_qloop_73;
+                   const real_t q_tmp_3_2 = tmp_qloop_81;
+                   const real_t q_tmp_3_3 = tmp_qloop_26*(tmp_qloop_35*tmp_qloop_35);
+                   const real_t q_tmp_3_4 = tmp_qloop_89;
+                   const real_t q_tmp_3_5 = tmp_qloop_90;
+                   const real_t q_tmp_3_6 = tmp_qloop_91;
+                   const real_t q_tmp_3_7 = tmp_qloop_92;
+                   const real_t q_tmp_3_8 = tmp_qloop_93;
+                   const real_t q_tmp_3_9 = tmp_qloop_94;
+                   const real_t q_tmp_4_0 = tmp_qloop_44;
+                   const real_t q_tmp_4_1 = tmp_qloop_74;
+                   const real_t q_tmp_4_2 = tmp_qloop_82;
+                   const real_t q_tmp_4_3 = tmp_qloop_89;
+                   const real_t q_tmp_4_4 = tmp_qloop_26*(tmp_qloop_43*tmp_qloop_43);
+                   const real_t q_tmp_4_5 = tmp_qloop_96;
+                   const real_t q_tmp_4_6 = tmp_qloop_97;
+                   const real_t q_tmp_4_7 = tmp_qloop_98;
+                   const real_t q_tmp_4_8 = tmp_qloop_99;
+                   const real_t q_tmp_4_9 = tmp_qloop_100;
+                   const real_t q_tmp_5_0 = tmp_qloop_52;
+                   const real_t q_tmp_5_1 = tmp_qloop_75;
+                   const real_t q_tmp_5_2 = tmp_qloop_83;
+                   const real_t q_tmp_5_3 = tmp_qloop_90;
+                   const real_t q_tmp_5_4 = tmp_qloop_96;
+                   const real_t q_tmp_5_5 = tmp_qloop_26*(tmp_qloop_51*tmp_qloop_51);
+                   const real_t q_tmp_5_6 = tmp_qloop_102;
+                   const real_t q_tmp_5_7 = tmp_qloop_103;
+                   const real_t q_tmp_5_8 = tmp_qloop_104;
+                   const real_t q_tmp_5_9 = tmp_qloop_105;
+                   const real_t q_tmp_6_0 = tmp_qloop_60;
+                   const real_t q_tmp_6_1 = tmp_qloop_76;
+                   const real_t q_tmp_6_2 = tmp_qloop_84;
+                   const real_t q_tmp_6_3 = tmp_qloop_91;
+                   const real_t q_tmp_6_4 = tmp_qloop_97;
+                   const real_t q_tmp_6_5 = tmp_qloop_102;
+                   const real_t q_tmp_6_6 = tmp_qloop_26*(tmp_qloop_59*tmp_qloop_59);
+                   const real_t q_tmp_6_7 = tmp_qloop_107;
+                   const real_t q_tmp_6_8 = tmp_qloop_108;
+                   const real_t q_tmp_6_9 = tmp_qloop_109;
+                   const real_t q_tmp_7_0 = tmp_qloop_63;
+                   const real_t q_tmp_7_1 = tmp_qloop_77;
+                   const real_t q_tmp_7_2 = tmp_qloop_85;
+                   const real_t q_tmp_7_3 = tmp_qloop_92;
+                   const real_t q_tmp_7_4 = tmp_qloop_98;
+                   const real_t q_tmp_7_5 = tmp_qloop_103;
+                   const real_t q_tmp_7_6 = tmp_qloop_107;
+                   const real_t q_tmp_7_7 = tmp_qloop_26*(tmp_qloop_62*tmp_qloop_62);
+                   const real_t q_tmp_7_8 = tmp_qloop_111;
+                   const real_t q_tmp_7_9 = tmp_qloop_112;
+                   const real_t q_tmp_8_0 = tmp_qloop_67;
+                   const real_t q_tmp_8_1 = tmp_qloop_78;
+                   const real_t q_tmp_8_2 = tmp_qloop_86;
+                   const real_t q_tmp_8_3 = tmp_qloop_93;
+                   const real_t q_tmp_8_4 = tmp_qloop_99;
+                   const real_t q_tmp_8_5 = tmp_qloop_104;
+                   const real_t q_tmp_8_6 = tmp_qloop_108;
+                   const real_t q_tmp_8_7 = tmp_qloop_111;
+                   const real_t q_tmp_8_8 = tmp_qloop_26*(tmp_qloop_66*tmp_qloop_66);
+                   const real_t q_tmp_8_9 = tmp_qloop_113;
+                   const real_t q_tmp_9_0 = tmp_qloop_70;
+                   const real_t q_tmp_9_1 = tmp_qloop_79;
+                   const real_t q_tmp_9_2 = tmp_qloop_87;
+                   const real_t q_tmp_9_3 = tmp_qloop_94;
+                   const real_t q_tmp_9_4 = tmp_qloop_100;
+                   const real_t q_tmp_9_5 = tmp_qloop_105;
+                   const real_t q_tmp_9_6 = tmp_qloop_109;
+                   const real_t q_tmp_9_7 = tmp_qloop_112;
+                   const real_t q_tmp_9_8 = tmp_qloop_113;
+                   const real_t q_tmp_9_9 = tmp_qloop_26*(tmp_qloop_69*tmp_qloop_69);
+                   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;
+                   q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                   q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                   q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                   q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                   q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                   q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                   q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                   q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                   q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                   q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                   q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                   q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                   q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                   q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                   q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                   q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                   q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                   q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                   q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                   q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                   q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                   q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                   q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                   q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                   q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                   q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                   q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                   q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                   q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                   q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                   q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                   q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                   q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                   q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                   q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                   q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                   q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                   q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                   q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                   q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                   q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                   q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                   q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                   q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                   q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                   q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                   q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                   q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                   q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+                const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+                const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+                const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+                const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+                const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+                const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+                _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_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 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN;
+       const real_t tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN);
+       const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN);
+       const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN);
+       const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN);
+       const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN);
+       {
+          /* CellType.GREEN_DOWN */
+          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 cp_times_delta_dof_0 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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);
+                __m256d q_acc_4_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_1),_mm256_mul_pd(tmp_qloop_13,ux_dof_2)),_mm256_mul_pd(tmp_qloop_16,ux_dof_3)),_mm256_mul_pd(tmp_qloop_17,ux_dof_7)),_mm256_mul_pd(tmp_qloop_18,ux_dof_8)),_mm256_mul_pd(tmp_qloop_20,ux_dof_9)),_mm256_mul_pd(tmp_qloop_21,ux_dof_0)),_mm256_mul_pd(tmp_qloop_5,ux_dof_6)),_mm256_mul_pd(tmp_qloop_6,ux_dof_5)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_1),_mm256_mul_pd(tmp_qloop_13,uy_dof_2)),_mm256_mul_pd(tmp_qloop_16,uy_dof_3)),_mm256_mul_pd(tmp_qloop_17,uy_dof_7)),_mm256_mul_pd(tmp_qloop_18,uy_dof_8)),_mm256_mul_pd(tmp_qloop_20,uy_dof_9)),_mm256_mul_pd(tmp_qloop_21,uy_dof_0)),_mm256_mul_pd(tmp_qloop_5,uy_dof_6)),_mm256_mul_pd(tmp_qloop_6,uy_dof_5)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_1),_mm256_mul_pd(tmp_qloop_13,uz_dof_2)),_mm256_mul_pd(tmp_qloop_16,uz_dof_3)),_mm256_mul_pd(tmp_qloop_17,uz_dof_7)),_mm256_mul_pd(tmp_qloop_18,uz_dof_8)),_mm256_mul_pd(tmp_qloop_20,uz_dof_9)),_mm256_mul_pd(tmp_qloop_21,uz_dof_0)),_mm256_mul_pd(tmp_qloop_5,uz_dof_6)),_mm256_mul_pd(tmp_qloop_6,uz_dof_5)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4));
+                   const __m256d tmp_qloop_25 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))));
+                   const __m256d tmp_qloop_26 = _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(cp_times_delta_dof_0,tmp_qloop_21),_mm256_mul_pd(cp_times_delta_dof_1,tmp_qloop_10)),_mm256_mul_pd(cp_times_delta_dof_2,tmp_qloop_13)),_mm256_mul_pd(cp_times_delta_dof_3,tmp_qloop_16)),_mm256_mul_pd(cp_times_delta_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_times_delta_dof_5,tmp_qloop_6)),_mm256_mul_pd(cp_times_delta_dof_6,tmp_qloop_5)),_mm256_mul_pd(cp_times_delta_dof_7,tmp_qloop_17)),_mm256_mul_pd(cp_times_delta_dof_8,tmp_qloop_18)),_mm256_mul_pd(cp_times_delta_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN));
+                   const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)));
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_25,tmp_qloop_26);
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_28,tmp_qloop_29);
+                   const __m256d tmp_qloop_31 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_32 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_31),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_31),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_31),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_32);
+                   const __m256d tmp_qloop_34 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_35 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_34),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_34),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_34),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_35);
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_43 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_43);
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_47 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_48 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_51 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_47,tmp_qloop_48))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_49,tmp_qloop_50)));
+                   const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_51);
+                   const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_54 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_55 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_56 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_58 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_53,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_55,tmp_qloop_56))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_57,tmp_qloop_58)));
+                   const __m256d tmp_qloop_60 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_59);
+                   const __m256d tmp_qloop_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_62 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))));
+                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_62);
+                   const __m256d tmp_qloop_64 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_65 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_66 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_54,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_65,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_65,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_65,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)))));
+                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_66);
+                   const __m256d tmp_qloop_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)))));
+                   const __m256d tmp_qloop_70 = _mm256_mul_pd(tmp_qloop_29,tmp_qloop_69);
+                   const __m256d tmp_qloop_71 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_28);
+                   const __m256d tmp_qloop_72 = _mm256_mul_pd(tmp_qloop_32,tmp_qloop_71);
+                   const __m256d tmp_qloop_73 = _mm256_mul_pd(tmp_qloop_35,tmp_qloop_71);
+                   const __m256d tmp_qloop_74 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_71);
+                   const __m256d tmp_qloop_75 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_71);
+                   const __m256d tmp_qloop_76 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_71);
+                   const __m256d tmp_qloop_77 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_71);
+                   const __m256d tmp_qloop_78 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_71);
+                   const __m256d tmp_qloop_79 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_71);
+                   const __m256d tmp_qloop_80 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_32);
+                   const __m256d tmp_qloop_81 = _mm256_mul_pd(tmp_qloop_35,tmp_qloop_80);
+                   const __m256d tmp_qloop_82 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_80);
+                   const __m256d tmp_qloop_83 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_80);
+                   const __m256d tmp_qloop_84 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_80);
+                   const __m256d tmp_qloop_85 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_80);
+                   const __m256d tmp_qloop_86 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_80);
+                   const __m256d tmp_qloop_87 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_80);
+                   const __m256d tmp_qloop_88 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_35);
+                   const __m256d tmp_qloop_89 = _mm256_mul_pd(tmp_qloop_43,tmp_qloop_88);
+                   const __m256d tmp_qloop_90 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_88);
+                   const __m256d tmp_qloop_91 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_88);
+                   const __m256d tmp_qloop_92 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_88);
+                   const __m256d tmp_qloop_93 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_88);
+                   const __m256d tmp_qloop_94 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_88);
+                   const __m256d tmp_qloop_95 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_43);
+                   const __m256d tmp_qloop_96 = _mm256_mul_pd(tmp_qloop_51,tmp_qloop_95);
+                   const __m256d tmp_qloop_97 = _mm256_mul_pd(tmp_qloop_59,tmp_qloop_95);
+                   const __m256d tmp_qloop_98 = _mm256_mul_pd(tmp_qloop_62,tmp_qloop_95);
+                   const __m256d tmp_qloop_99 = _mm256_mul_pd(tmp_qloop_66,tmp_qloop_95);
+                   const __m256d tmp_qloop_100 = _mm256_mul_pd(tmp_qloop_69,tmp_qloop_95);
+                   const __m256d tmp_qloop_101 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_51);
+                   const __m256d tmp_qloop_102 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_59);
+                   const __m256d tmp_qloop_103 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_62);
+                   const __m256d tmp_qloop_104 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_66);
+                   const __m256d tmp_qloop_105 = _mm256_mul_pd(tmp_qloop_101,tmp_qloop_69);
+                   const __m256d tmp_qloop_106 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_59);
+                   const __m256d tmp_qloop_107 = _mm256_mul_pd(tmp_qloop_106,tmp_qloop_62);
+                   const __m256d tmp_qloop_108 = _mm256_mul_pd(tmp_qloop_106,tmp_qloop_66);
+                   const __m256d tmp_qloop_109 = _mm256_mul_pd(tmp_qloop_106,tmp_qloop_69);
+                   const __m256d tmp_qloop_110 = _mm256_mul_pd(tmp_qloop_26,tmp_qloop_62);
+                   const __m256d tmp_qloop_111 = _mm256_mul_pd(tmp_qloop_110,tmp_qloop_66);
+                   const __m256d tmp_qloop_112 = _mm256_mul_pd(tmp_qloop_110,tmp_qloop_69);
+                   const __m256d tmp_qloop_113 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_26,tmp_qloop_66),tmp_qloop_69);
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_25,tmp_qloop_25),tmp_qloop_26);
+                   const __m256d q_tmp_0_1 = tmp_qloop_30;
+                   const __m256d q_tmp_0_2 = tmp_qloop_33;
+                   const __m256d q_tmp_0_3 = tmp_qloop_36;
+                   const __m256d q_tmp_0_4 = tmp_qloop_44;
+                   const __m256d q_tmp_0_5 = tmp_qloop_52;
+                   const __m256d q_tmp_0_6 = tmp_qloop_60;
+                   const __m256d q_tmp_0_7 = tmp_qloop_63;
+                   const __m256d q_tmp_0_8 = tmp_qloop_67;
+                   const __m256d q_tmp_0_9 = tmp_qloop_70;
+                   const __m256d q_tmp_1_0 = tmp_qloop_30;
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_28,tmp_qloop_28));
+                   const __m256d q_tmp_1_2 = tmp_qloop_72;
+                   const __m256d q_tmp_1_3 = tmp_qloop_73;
+                   const __m256d q_tmp_1_4 = tmp_qloop_74;
+                   const __m256d q_tmp_1_5 = tmp_qloop_75;
+                   const __m256d q_tmp_1_6 = tmp_qloop_76;
+                   const __m256d q_tmp_1_7 = tmp_qloop_77;
+                   const __m256d q_tmp_1_8 = tmp_qloop_78;
+                   const __m256d q_tmp_1_9 = tmp_qloop_79;
+                   const __m256d q_tmp_2_0 = tmp_qloop_33;
+                   const __m256d q_tmp_2_1 = tmp_qloop_72;
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_32,tmp_qloop_32));
+                   const __m256d q_tmp_2_3 = tmp_qloop_81;
+                   const __m256d q_tmp_2_4 = tmp_qloop_82;
+                   const __m256d q_tmp_2_5 = tmp_qloop_83;
+                   const __m256d q_tmp_2_6 = tmp_qloop_84;
+                   const __m256d q_tmp_2_7 = tmp_qloop_85;
+                   const __m256d q_tmp_2_8 = tmp_qloop_86;
+                   const __m256d q_tmp_2_9 = tmp_qloop_87;
+                   const __m256d q_tmp_3_0 = tmp_qloop_36;
+                   const __m256d q_tmp_3_1 = tmp_qloop_73;
+                   const __m256d q_tmp_3_2 = tmp_qloop_81;
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_35,tmp_qloop_35));
+                   const __m256d q_tmp_3_4 = tmp_qloop_89;
+                   const __m256d q_tmp_3_5 = tmp_qloop_90;
+                   const __m256d q_tmp_3_6 = tmp_qloop_91;
+                   const __m256d q_tmp_3_7 = tmp_qloop_92;
+                   const __m256d q_tmp_3_8 = tmp_qloop_93;
+                   const __m256d q_tmp_3_9 = tmp_qloop_94;
+                   const __m256d q_tmp_4_0 = tmp_qloop_44;
+                   const __m256d q_tmp_4_1 = tmp_qloop_74;
+                   const __m256d q_tmp_4_2 = tmp_qloop_82;
+                   const __m256d q_tmp_4_3 = tmp_qloop_89;
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_43,tmp_qloop_43));
+                   const __m256d q_tmp_4_5 = tmp_qloop_96;
+                   const __m256d q_tmp_4_6 = tmp_qloop_97;
+                   const __m256d q_tmp_4_7 = tmp_qloop_98;
+                   const __m256d q_tmp_4_8 = tmp_qloop_99;
+                   const __m256d q_tmp_4_9 = tmp_qloop_100;
+                   const __m256d q_tmp_5_0 = tmp_qloop_52;
+                   const __m256d q_tmp_5_1 = tmp_qloop_75;
+                   const __m256d q_tmp_5_2 = tmp_qloop_83;
+                   const __m256d q_tmp_5_3 = tmp_qloop_90;
+                   const __m256d q_tmp_5_4 = tmp_qloop_96;
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_51,tmp_qloop_51));
+                   const __m256d q_tmp_5_6 = tmp_qloop_102;
+                   const __m256d q_tmp_5_7 = tmp_qloop_103;
+                   const __m256d q_tmp_5_8 = tmp_qloop_104;
+                   const __m256d q_tmp_5_9 = tmp_qloop_105;
+                   const __m256d q_tmp_6_0 = tmp_qloop_60;
+                   const __m256d q_tmp_6_1 = tmp_qloop_76;
+                   const __m256d q_tmp_6_2 = tmp_qloop_84;
+                   const __m256d q_tmp_6_3 = tmp_qloop_91;
+                   const __m256d q_tmp_6_4 = tmp_qloop_97;
+                   const __m256d q_tmp_6_5 = tmp_qloop_102;
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_59,tmp_qloop_59));
+                   const __m256d q_tmp_6_7 = tmp_qloop_107;
+                   const __m256d q_tmp_6_8 = tmp_qloop_108;
+                   const __m256d q_tmp_6_9 = tmp_qloop_109;
+                   const __m256d q_tmp_7_0 = tmp_qloop_63;
+                   const __m256d q_tmp_7_1 = tmp_qloop_77;
+                   const __m256d q_tmp_7_2 = tmp_qloop_85;
+                   const __m256d q_tmp_7_3 = tmp_qloop_92;
+                   const __m256d q_tmp_7_4 = tmp_qloop_98;
+                   const __m256d q_tmp_7_5 = tmp_qloop_103;
+                   const __m256d q_tmp_7_6 = tmp_qloop_107;
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_62,tmp_qloop_62));
+                   const __m256d q_tmp_7_8 = tmp_qloop_111;
+                   const __m256d q_tmp_7_9 = tmp_qloop_112;
+                   const __m256d q_tmp_8_0 = tmp_qloop_67;
+                   const __m256d q_tmp_8_1 = tmp_qloop_78;
+                   const __m256d q_tmp_8_2 = tmp_qloop_86;
+                   const __m256d q_tmp_8_3 = tmp_qloop_93;
+                   const __m256d q_tmp_8_4 = tmp_qloop_99;
+                   const __m256d q_tmp_8_5 = tmp_qloop_104;
+                   const __m256d q_tmp_8_6 = tmp_qloop_108;
+                   const __m256d q_tmp_8_7 = tmp_qloop_111;
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_66,tmp_qloop_66));
+                   const __m256d q_tmp_8_9 = tmp_qloop_113;
+                   const __m256d q_tmp_9_0 = tmp_qloop_70;
+                   const __m256d q_tmp_9_1 = tmp_qloop_79;
+                   const __m256d q_tmp_9_2 = tmp_qloop_87;
+                   const __m256d q_tmp_9_3 = tmp_qloop_94;
+                   const __m256d q_tmp_9_4 = tmp_qloop_100;
+                   const __m256d q_tmp_9_5 = tmp_qloop_105;
+                   const __m256d q_tmp_9_6 = tmp_qloop_109;
+                   const __m256d q_tmp_9_7 = tmp_qloop_112;
+                   const __m256d q_tmp_9_8 = tmp_qloop_113;
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_26,_mm256_mul_pd(tmp_qloop_69,tmp_qloop_69));
+                   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);
+                   q_acc_4_0 = _mm256_add_pd(q_acc_4_0,q_tmp_4_0);
+                   q_acc_4_1 = _mm256_add_pd(q_acc_4_1,q_tmp_4_1);
+                   q_acc_4_2 = _mm256_add_pd(q_acc_4_2,q_tmp_4_2);
+                   q_acc_4_3 = _mm256_add_pd(q_acc_4_3,q_tmp_4_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5);
+                   q_acc_4_6 = _mm256_add_pd(q_acc_4_6,q_tmp_4_6);
+                   q_acc_4_7 = _mm256_add_pd(q_acc_4_7,q_tmp_4_7);
+                   q_acc_4_8 = _mm256_add_pd(q_acc_4_8,q_tmp_4_8);
+                   q_acc_4_9 = _mm256_add_pd(q_acc_4_9,q_tmp_4_9);
+                   q_acc_5_0 = _mm256_add_pd(q_acc_5_0,q_tmp_5_0);
+                   q_acc_5_1 = _mm256_add_pd(q_acc_5_1,q_tmp_5_1);
+                   q_acc_5_2 = _mm256_add_pd(q_acc_5_2,q_tmp_5_2);
+                   q_acc_5_3 = _mm256_add_pd(q_acc_5_3,q_tmp_5_3);
+                   q_acc_5_4 = _mm256_add_pd(q_acc_5_4,q_tmp_5_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_5_6 = _mm256_add_pd(q_acc_5_6,q_tmp_5_6);
+                   q_acc_5_7 = _mm256_add_pd(q_acc_5_7,q_tmp_5_7);
+                   q_acc_5_8 = _mm256_add_pd(q_acc_5_8,q_tmp_5_8);
+                   q_acc_5_9 = _mm256_add_pd(q_acc_5_9,q_tmp_5_9);
+                   q_acc_6_0 = _mm256_add_pd(q_acc_6_0,q_tmp_6_0);
+                   q_acc_6_1 = _mm256_add_pd(q_acc_6_1,q_tmp_6_1);
+                   q_acc_6_2 = _mm256_add_pd(q_acc_6_2,q_tmp_6_2);
+                   q_acc_6_3 = _mm256_add_pd(q_acc_6_3,q_tmp_6_3);
+                   q_acc_6_4 = _mm256_add_pd(q_acc_6_4,q_tmp_6_4);
+                   q_acc_6_5 = _mm256_add_pd(q_acc_6_5,q_tmp_6_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_6_7 = _mm256_add_pd(q_acc_6_7,q_tmp_6_7);
+                   q_acc_6_8 = _mm256_add_pd(q_acc_6_8,q_tmp_6_8);
+                   q_acc_6_9 = _mm256_add_pd(q_acc_6_9,q_tmp_6_9);
+                   q_acc_7_0 = _mm256_add_pd(q_acc_7_0,q_tmp_7_0);
+                   q_acc_7_1 = _mm256_add_pd(q_acc_7_1,q_tmp_7_1);
+                   q_acc_7_2 = _mm256_add_pd(q_acc_7_2,q_tmp_7_2);
+                   q_acc_7_3 = _mm256_add_pd(q_acc_7_3,q_tmp_7_3);
+                   q_acc_7_4 = _mm256_add_pd(q_acc_7_4,q_tmp_7_4);
+                   q_acc_7_5 = _mm256_add_pd(q_acc_7_5,q_tmp_7_5);
+                   q_acc_7_6 = _mm256_add_pd(q_acc_7_6,q_tmp_7_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_7_8 = _mm256_add_pd(q_acc_7_8,q_tmp_7_8);
+                   q_acc_7_9 = _mm256_add_pd(q_acc_7_9,q_tmp_7_9);
+                   q_acc_8_0 = _mm256_add_pd(q_acc_8_0,q_tmp_8_0);
+                   q_acc_8_1 = _mm256_add_pd(q_acc_8_1,q_tmp_8_1);
+                   q_acc_8_2 = _mm256_add_pd(q_acc_8_2,q_tmp_8_2);
+                   q_acc_8_3 = _mm256_add_pd(q_acc_8_3,q_tmp_8_3);
+                   q_acc_8_4 = _mm256_add_pd(q_acc_8_4,q_tmp_8_4);
+                   q_acc_8_5 = _mm256_add_pd(q_acc_8_5,q_tmp_8_5);
+                   q_acc_8_6 = _mm256_add_pd(q_acc_8_6,q_tmp_8_6);
+                   q_acc_8_7 = _mm256_add_pd(q_acc_8_7,q_tmp_8_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_8_9 = _mm256_add_pd(q_acc_8_9,q_tmp_8_9);
+                   q_acc_9_0 = _mm256_add_pd(q_acc_9_0,q_tmp_9_0);
+                   q_acc_9_1 = _mm256_add_pd(q_acc_9_1,q_tmp_9_1);
+                   q_acc_9_2 = _mm256_add_pd(q_acc_9_2,q_tmp_9_2);
+                   q_acc_9_3 = _mm256_add_pd(q_acc_9_3,q_tmp_9_3);
+                   q_acc_9_4 = _mm256_add_pd(q_acc_9_4,q_tmp_9_4);
+                   q_acc_9_5 = _mm256_add_pd(q_acc_9_5,q_tmp_9_5);
+                   q_acc_9_6 = _mm256_add_pd(q_acc_9_6,q_tmp_9_6);
+                   q_acc_9_7 = _mm256_add_pd(q_acc_9_7,q_tmp_9_7);
+                   q_acc_9_8 = _mm256_add_pd(q_acc_9_8,q_tmp_9_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_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));
+                const __m256d elMatVec_4 = _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_4_0,src_dof_0),_mm256_mul_pd(q_acc_4_1,src_dof_1)),_mm256_mul_pd(q_acc_4_2,src_dof_2)),_mm256_mul_pd(q_acc_4_3,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)),_mm256_mul_pd(q_acc_4_6,src_dof_6)),_mm256_mul_pd(q_acc_4_7,src_dof_7)),_mm256_mul_pd(q_acc_4_8,src_dof_8)),_mm256_mul_pd(q_acc_4_9,src_dof_9));
+                const __m256d elMatVec_5 = _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_5_0,src_dof_0),_mm256_mul_pd(q_acc_5_1,src_dof_1)),_mm256_mul_pd(q_acc_5_2,src_dof_2)),_mm256_mul_pd(q_acc_5_3,src_dof_3)),_mm256_mul_pd(q_acc_5_4,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)),_mm256_mul_pd(q_acc_5_6,src_dof_6)),_mm256_mul_pd(q_acc_5_7,src_dof_7)),_mm256_mul_pd(q_acc_5_8,src_dof_8)),_mm256_mul_pd(q_acc_5_9,src_dof_9));
+                const __m256d elMatVec_6 = _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_6_0,src_dof_0),_mm256_mul_pd(q_acc_6_1,src_dof_1)),_mm256_mul_pd(q_acc_6_2,src_dof_2)),_mm256_mul_pd(q_acc_6_3,src_dof_3)),_mm256_mul_pd(q_acc_6_4,src_dof_4)),_mm256_mul_pd(q_acc_6_5,src_dof_5)),_mm256_mul_pd(q_acc_6_6,src_dof_6)),_mm256_mul_pd(q_acc_6_7,src_dof_7)),_mm256_mul_pd(q_acc_6_8,src_dof_8)),_mm256_mul_pd(q_acc_6_9,src_dof_9));
+                const __m256d elMatVec_7 = _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_7_0,src_dof_0),_mm256_mul_pd(q_acc_7_1,src_dof_1)),_mm256_mul_pd(q_acc_7_2,src_dof_2)),_mm256_mul_pd(q_acc_7_3,src_dof_3)),_mm256_mul_pd(q_acc_7_4,src_dof_4)),_mm256_mul_pd(q_acc_7_5,src_dof_5)),_mm256_mul_pd(q_acc_7_6,src_dof_6)),_mm256_mul_pd(q_acc_7_7,src_dof_7)),_mm256_mul_pd(q_acc_7_8,src_dof_8)),_mm256_mul_pd(q_acc_7_9,src_dof_9));
+                const __m256d elMatVec_8 = _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_8_0,src_dof_0),_mm256_mul_pd(q_acc_8_1,src_dof_1)),_mm256_mul_pd(q_acc_8_2,src_dof_2)),_mm256_mul_pd(q_acc_8_3,src_dof_3)),_mm256_mul_pd(q_acc_8_4,src_dof_4)),_mm256_mul_pd(q_acc_8_5,src_dof_5)),_mm256_mul_pd(q_acc_8_6,src_dof_6)),_mm256_mul_pd(q_acc_8_7,src_dof_7)),_mm256_mul_pd(q_acc_8_8,src_dof_8)),_mm256_mul_pd(q_acc_8_9,src_dof_9));
+                const __m256d elMatVec_9 = _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_9_0,src_dof_0),_mm256_mul_pd(q_acc_9_1,src_dof_1)),_mm256_mul_pd(q_acc_9_2,src_dof_2)),_mm256_mul_pd(q_acc_9_3,src_dof_3)),_mm256_mul_pd(q_acc_9_4,src_dof_4)),_mm256_mul_pd(q_acc_9_5,src_dof_5)),_mm256_mul_pd(q_acc_9_6,src_dof_6)),_mm256_mul_pd(q_acc_9_7,src_dof_7)),_mm256_mul_pd(q_acc_9_8,src_dof_8)),_mm256_mul_pd(q_acc_9_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_6,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_7,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_8,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_9,_mm256_loadu_pd(& _data_dstEdge[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))])));
+             }
+             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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+                real_t q_acc_4_0 = 0.0;
+                real_t q_acc_4_1 = 0.0;
+                real_t q_acc_4_2 = 0.0;
+                real_t q_acc_4_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_4_5 = 0.0;
+                real_t q_acc_4_6 = 0.0;
+                real_t q_acc_4_7 = 0.0;
+                real_t q_acc_4_8 = 0.0;
+                real_t q_acc_4_9 = 0.0;
+                real_t q_acc_5_0 = 0.0;
+                real_t q_acc_5_1 = 0.0;
+                real_t q_acc_5_2 = 0.0;
+                real_t q_acc_5_3 = 0.0;
+                real_t q_acc_5_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_5_6 = 0.0;
+                real_t q_acc_5_7 = 0.0;
+                real_t q_acc_5_8 = 0.0;
+                real_t q_acc_5_9 = 0.0;
+                real_t q_acc_6_0 = 0.0;
+                real_t q_acc_6_1 = 0.0;
+                real_t q_acc_6_2 = 0.0;
+                real_t q_acc_6_3 = 0.0;
+                real_t q_acc_6_4 = 0.0;
+                real_t q_acc_6_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_6_7 = 0.0;
+                real_t q_acc_6_8 = 0.0;
+                real_t q_acc_6_9 = 0.0;
+                real_t q_acc_7_0 = 0.0;
+                real_t q_acc_7_1 = 0.0;
+                real_t q_acc_7_2 = 0.0;
+                real_t q_acc_7_3 = 0.0;
+                real_t q_acc_7_4 = 0.0;
+                real_t q_acc_7_5 = 0.0;
+                real_t q_acc_7_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_7_8 = 0.0;
+                real_t q_acc_7_9 = 0.0;
+                real_t q_acc_8_0 = 0.0;
+                real_t q_acc_8_1 = 0.0;
+                real_t q_acc_8_2 = 0.0;
+                real_t q_acc_8_3 = 0.0;
+                real_t q_acc_8_4 = 0.0;
+                real_t q_acc_8_5 = 0.0;
+                real_t q_acc_8_6 = 0.0;
+                real_t q_acc_8_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_8_9 = 0.0;
+                real_t q_acc_9_0 = 0.0;
+                real_t q_acc_9_1 = 0.0;
+                real_t q_acc_9_2 = 0.0;
+                real_t q_acc_9_3 = 0.0;
+                real_t q_acc_9_4 = 0.0;
+                real_t q_acc_9_5 = 0.0;
+                real_t q_acc_9_6 = 0.0;
+                real_t q_acc_9_7 = 0.0;
+                real_t q_acc_9_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                   const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_4);
+                   const real_t tmp_qloop_26 = abs_det_jac_affine_GREEN_DOWN*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_27 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_28 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_27;
+                   const real_t tmp_qloop_29 = tmp_qloop_25*tmp_qloop_26;
+                   const real_t tmp_qloop_30 = tmp_qloop_28*tmp_qloop_29;
+                   const real_t tmp_qloop_31 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_32 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_31 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_31 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_31;
+                   const real_t tmp_qloop_33 = tmp_qloop_29*tmp_qloop_32;
+                   const real_t tmp_qloop_34 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_35 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_34 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_34 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_34;
+                   const real_t tmp_qloop_36 = tmp_qloop_29*tmp_qloop_35;
+                   const real_t tmp_qloop_37 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_38 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_39 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_40 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_41 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_42 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_43 = tmp_qloop_22*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_23*(tmp_qloop_39 + tmp_qloop_40) + tmp_qloop_24*(tmp_qloop_41 + tmp_qloop_42);
+                   const real_t tmp_qloop_44 = tmp_qloop_29*tmp_qloop_43;
+                   const real_t tmp_qloop_45 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_47 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_48 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_49 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_50 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_51 = tmp_qloop_22*(tmp_qloop_45 + tmp_qloop_46) + tmp_qloop_23*(tmp_qloop_47 + tmp_qloop_48) + tmp_qloop_24*(tmp_qloop_49 + tmp_qloop_50);
+                   const real_t tmp_qloop_52 = tmp_qloop_29*tmp_qloop_51;
+                   const real_t tmp_qloop_53 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_54 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_55 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_56 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_57 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_58 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_59 = tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58);
+                   const real_t tmp_qloop_60 = tmp_qloop_29*tmp_qloop_59;
+                   const real_t tmp_qloop_61 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_62 = tmp_qloop_22*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_61 - tmp_qloop_38 - tmp_qloop_46) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_61 - tmp_qloop_40 - tmp_qloop_48) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_61 - tmp_qloop_42 - tmp_qloop_50);
+                   const real_t tmp_qloop_63 = tmp_qloop_29*tmp_qloop_62;
+                   const real_t tmp_qloop_64 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_65 = -tmp_qloop_1 - tmp_qloop_64 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_66 = tmp_qloop_22*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_65 - tmp_qloop_37 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_65 - tmp_qloop_39 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_65 - tmp_qloop_41 - tmp_qloop_58);
+                   const real_t tmp_qloop_67 = tmp_qloop_29*tmp_qloop_66;
+                   const real_t tmp_qloop_68 = -tmp_qloop_2 - tmp_qloop_64 - 8.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_69 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_53) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_55) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_57);
+                   const real_t tmp_qloop_70 = tmp_qloop_29*tmp_qloop_69;
+                   const real_t tmp_qloop_71 = tmp_qloop_26*tmp_qloop_28;
+                   const real_t tmp_qloop_72 = tmp_qloop_32*tmp_qloop_71;
+                   const real_t tmp_qloop_73 = tmp_qloop_35*tmp_qloop_71;
+                   const real_t tmp_qloop_74 = tmp_qloop_43*tmp_qloop_71;
+                   const real_t tmp_qloop_75 = tmp_qloop_51*tmp_qloop_71;
+                   const real_t tmp_qloop_76 = tmp_qloop_59*tmp_qloop_71;
+                   const real_t tmp_qloop_77 = tmp_qloop_62*tmp_qloop_71;
+                   const real_t tmp_qloop_78 = tmp_qloop_66*tmp_qloop_71;
+                   const real_t tmp_qloop_79 = tmp_qloop_69*tmp_qloop_71;
+                   const real_t tmp_qloop_80 = tmp_qloop_26*tmp_qloop_32;
+                   const real_t tmp_qloop_81 = tmp_qloop_35*tmp_qloop_80;
+                   const real_t tmp_qloop_82 = tmp_qloop_43*tmp_qloop_80;
+                   const real_t tmp_qloop_83 = tmp_qloop_51*tmp_qloop_80;
+                   const real_t tmp_qloop_84 = tmp_qloop_59*tmp_qloop_80;
+                   const real_t tmp_qloop_85 = tmp_qloop_62*tmp_qloop_80;
+                   const real_t tmp_qloop_86 = tmp_qloop_66*tmp_qloop_80;
+                   const real_t tmp_qloop_87 = tmp_qloop_69*tmp_qloop_80;
+                   const real_t tmp_qloop_88 = tmp_qloop_26*tmp_qloop_35;
+                   const real_t tmp_qloop_89 = tmp_qloop_43*tmp_qloop_88;
+                   const real_t tmp_qloop_90 = tmp_qloop_51*tmp_qloop_88;
+                   const real_t tmp_qloop_91 = tmp_qloop_59*tmp_qloop_88;
+                   const real_t tmp_qloop_92 = tmp_qloop_62*tmp_qloop_88;
+                   const real_t tmp_qloop_93 = tmp_qloop_66*tmp_qloop_88;
+                   const real_t tmp_qloop_94 = tmp_qloop_69*tmp_qloop_88;
+                   const real_t tmp_qloop_95 = tmp_qloop_26*tmp_qloop_43;
+                   const real_t tmp_qloop_96 = tmp_qloop_51*tmp_qloop_95;
+                   const real_t tmp_qloop_97 = tmp_qloop_59*tmp_qloop_95;
+                   const real_t tmp_qloop_98 = tmp_qloop_62*tmp_qloop_95;
+                   const real_t tmp_qloop_99 = tmp_qloop_66*tmp_qloop_95;
+                   const real_t tmp_qloop_100 = tmp_qloop_69*tmp_qloop_95;
+                   const real_t tmp_qloop_101 = tmp_qloop_26*tmp_qloop_51;
+                   const real_t tmp_qloop_102 = tmp_qloop_101*tmp_qloop_59;
+                   const real_t tmp_qloop_103 = tmp_qloop_101*tmp_qloop_62;
+                   const real_t tmp_qloop_104 = tmp_qloop_101*tmp_qloop_66;
+                   const real_t tmp_qloop_105 = tmp_qloop_101*tmp_qloop_69;
+                   const real_t tmp_qloop_106 = tmp_qloop_26*tmp_qloop_59;
+                   const real_t tmp_qloop_107 = tmp_qloop_106*tmp_qloop_62;
+                   const real_t tmp_qloop_108 = tmp_qloop_106*tmp_qloop_66;
+                   const real_t tmp_qloop_109 = tmp_qloop_106*tmp_qloop_69;
+                   const real_t tmp_qloop_110 = tmp_qloop_26*tmp_qloop_62;
+                   const real_t tmp_qloop_111 = tmp_qloop_110*tmp_qloop_66;
+                   const real_t tmp_qloop_112 = tmp_qloop_110*tmp_qloop_69;
+                   const real_t tmp_qloop_113 = tmp_qloop_26*tmp_qloop_66*tmp_qloop_69;
+                   const real_t q_tmp_0_0 = (tmp_qloop_25*tmp_qloop_25)*tmp_qloop_26;
+                   const real_t q_tmp_0_1 = tmp_qloop_30;
+                   const real_t q_tmp_0_2 = tmp_qloop_33;
+                   const real_t q_tmp_0_3 = tmp_qloop_36;
+                   const real_t q_tmp_0_4 = tmp_qloop_44;
+                   const real_t q_tmp_0_5 = tmp_qloop_52;
+                   const real_t q_tmp_0_6 = tmp_qloop_60;
+                   const real_t q_tmp_0_7 = tmp_qloop_63;
+                   const real_t q_tmp_0_8 = tmp_qloop_67;
+                   const real_t q_tmp_0_9 = tmp_qloop_70;
+                   const real_t q_tmp_1_0 = tmp_qloop_30;
+                   const real_t q_tmp_1_1 = tmp_qloop_26*(tmp_qloop_28*tmp_qloop_28);
+                   const real_t q_tmp_1_2 = tmp_qloop_72;
+                   const real_t q_tmp_1_3 = tmp_qloop_73;
+                   const real_t q_tmp_1_4 = tmp_qloop_74;
+                   const real_t q_tmp_1_5 = tmp_qloop_75;
+                   const real_t q_tmp_1_6 = tmp_qloop_76;
+                   const real_t q_tmp_1_7 = tmp_qloop_77;
+                   const real_t q_tmp_1_8 = tmp_qloop_78;
+                   const real_t q_tmp_1_9 = tmp_qloop_79;
+                   const real_t q_tmp_2_0 = tmp_qloop_33;
+                   const real_t q_tmp_2_1 = tmp_qloop_72;
+                   const real_t q_tmp_2_2 = tmp_qloop_26*(tmp_qloop_32*tmp_qloop_32);
+                   const real_t q_tmp_2_3 = tmp_qloop_81;
+                   const real_t q_tmp_2_4 = tmp_qloop_82;
+                   const real_t q_tmp_2_5 = tmp_qloop_83;
+                   const real_t q_tmp_2_6 = tmp_qloop_84;
+                   const real_t q_tmp_2_7 = tmp_qloop_85;
+                   const real_t q_tmp_2_8 = tmp_qloop_86;
+                   const real_t q_tmp_2_9 = tmp_qloop_87;
+                   const real_t q_tmp_3_0 = tmp_qloop_36;
+                   const real_t q_tmp_3_1 = tmp_qloop_73;
+                   const real_t q_tmp_3_2 = tmp_qloop_81;
+                   const real_t q_tmp_3_3 = tmp_qloop_26*(tmp_qloop_35*tmp_qloop_35);
+                   const real_t q_tmp_3_4 = tmp_qloop_89;
+                   const real_t q_tmp_3_5 = tmp_qloop_90;
+                   const real_t q_tmp_3_6 = tmp_qloop_91;
+                   const real_t q_tmp_3_7 = tmp_qloop_92;
+                   const real_t q_tmp_3_8 = tmp_qloop_93;
+                   const real_t q_tmp_3_9 = tmp_qloop_94;
+                   const real_t q_tmp_4_0 = tmp_qloop_44;
+                   const real_t q_tmp_4_1 = tmp_qloop_74;
+                   const real_t q_tmp_4_2 = tmp_qloop_82;
+                   const real_t q_tmp_4_3 = tmp_qloop_89;
+                   const real_t q_tmp_4_4 = tmp_qloop_26*(tmp_qloop_43*tmp_qloop_43);
+                   const real_t q_tmp_4_5 = tmp_qloop_96;
+                   const real_t q_tmp_4_6 = tmp_qloop_97;
+                   const real_t q_tmp_4_7 = tmp_qloop_98;
+                   const real_t q_tmp_4_8 = tmp_qloop_99;
+                   const real_t q_tmp_4_9 = tmp_qloop_100;
+                   const real_t q_tmp_5_0 = tmp_qloop_52;
+                   const real_t q_tmp_5_1 = tmp_qloop_75;
+                   const real_t q_tmp_5_2 = tmp_qloop_83;
+                   const real_t q_tmp_5_3 = tmp_qloop_90;
+                   const real_t q_tmp_5_4 = tmp_qloop_96;
+                   const real_t q_tmp_5_5 = tmp_qloop_26*(tmp_qloop_51*tmp_qloop_51);
+                   const real_t q_tmp_5_6 = tmp_qloop_102;
+                   const real_t q_tmp_5_7 = tmp_qloop_103;
+                   const real_t q_tmp_5_8 = tmp_qloop_104;
+                   const real_t q_tmp_5_9 = tmp_qloop_105;
+                   const real_t q_tmp_6_0 = tmp_qloop_60;
+                   const real_t q_tmp_6_1 = tmp_qloop_76;
+                   const real_t q_tmp_6_2 = tmp_qloop_84;
+                   const real_t q_tmp_6_3 = tmp_qloop_91;
+                   const real_t q_tmp_6_4 = tmp_qloop_97;
+                   const real_t q_tmp_6_5 = tmp_qloop_102;
+                   const real_t q_tmp_6_6 = tmp_qloop_26*(tmp_qloop_59*tmp_qloop_59);
+                   const real_t q_tmp_6_7 = tmp_qloop_107;
+                   const real_t q_tmp_6_8 = tmp_qloop_108;
+                   const real_t q_tmp_6_9 = tmp_qloop_109;
+                   const real_t q_tmp_7_0 = tmp_qloop_63;
+                   const real_t q_tmp_7_1 = tmp_qloop_77;
+                   const real_t q_tmp_7_2 = tmp_qloop_85;
+                   const real_t q_tmp_7_3 = tmp_qloop_92;
+                   const real_t q_tmp_7_4 = tmp_qloop_98;
+                   const real_t q_tmp_7_5 = tmp_qloop_103;
+                   const real_t q_tmp_7_6 = tmp_qloop_107;
+                   const real_t q_tmp_7_7 = tmp_qloop_26*(tmp_qloop_62*tmp_qloop_62);
+                   const real_t q_tmp_7_8 = tmp_qloop_111;
+                   const real_t q_tmp_7_9 = tmp_qloop_112;
+                   const real_t q_tmp_8_0 = tmp_qloop_67;
+                   const real_t q_tmp_8_1 = tmp_qloop_78;
+                   const real_t q_tmp_8_2 = tmp_qloop_86;
+                   const real_t q_tmp_8_3 = tmp_qloop_93;
+                   const real_t q_tmp_8_4 = tmp_qloop_99;
+                   const real_t q_tmp_8_5 = tmp_qloop_104;
+                   const real_t q_tmp_8_6 = tmp_qloop_108;
+                   const real_t q_tmp_8_7 = tmp_qloop_111;
+                   const real_t q_tmp_8_8 = tmp_qloop_26*(tmp_qloop_66*tmp_qloop_66);
+                   const real_t q_tmp_8_9 = tmp_qloop_113;
+                   const real_t q_tmp_9_0 = tmp_qloop_70;
+                   const real_t q_tmp_9_1 = tmp_qloop_79;
+                   const real_t q_tmp_9_2 = tmp_qloop_87;
+                   const real_t q_tmp_9_3 = tmp_qloop_94;
+                   const real_t q_tmp_9_4 = tmp_qloop_100;
+                   const real_t q_tmp_9_5 = tmp_qloop_105;
+                   const real_t q_tmp_9_6 = tmp_qloop_109;
+                   const real_t q_tmp_9_7 = tmp_qloop_112;
+                   const real_t q_tmp_9_8 = tmp_qloop_113;
+                   const real_t q_tmp_9_9 = tmp_qloop_26*(tmp_qloop_69*tmp_qloop_69);
+                   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;
+                   q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                   q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                   q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                   q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                   q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                   q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                   q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                   q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                   q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                   q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                   q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                   q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                   q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                   q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                   q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                   q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                   q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                   q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                   q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                   q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                   q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                   q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                   q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                   q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                   q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                   q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                   q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                   q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                   q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                   q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                   q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                   q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                   q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                   q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                   q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                   q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                   q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                   q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                   q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                   q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                   q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                   q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                   q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                   q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                   q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                   q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                   q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                   q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                   q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+                const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+                const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+                const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+                const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+                const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+                const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+                _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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] = elMatVec_6 + _data_dstEdge[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_dstEdge[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))] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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))];
+             }
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/supg_advection/avx/P2ElementwiseSupgAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseSupgAdvection_macro_3D.cpp b/operators/supg_advection/avx/P2ElementwiseSupgAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseSupgAdvection_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..7a69a37c5678f80ed1909441bb00b4b262eb1e25
--- /dev/null
+++ b/operators/supg_advection/avx/P2ElementwiseSupgAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseSupgAdvection_macro_3D.cpp
@@ -0,0 +1,2520 @@
+/*
+* 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 Operator Generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ElementwiseSupgAdvection.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ElementwiseSupgAdvection::computeInverseDiagonalOperatorValues_P2ElementwiseSupgAdvection_macro_3D( real_t * RESTRICT  _data_cp_times_deltaEdge, real_t * RESTRICT  _data_cp_times_deltaVertex, real_t * RESTRICT  _data_invDiag_Edge, real_t * RESTRICT  _data_invDiag_Vertex, real_t * RESTRICT  _data_uxEdge, real_t * RESTRICT  _data_uxVertex, real_t * RESTRICT  _data_uyEdge, real_t * RESTRICT  _data_uyVertex, real_t * RESTRICT  _data_uzEdge, real_t * RESTRICT  _data_uzVertex, 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 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_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 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_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 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_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 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP;
+       const real_t tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP);
+       const real_t jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP);
+       const real_t jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP);
+       const real_t jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP);
+       const real_t jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP);
+       {
+          /* CellType.WHITE_UP */
+          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 cp_times_delta_dof_0 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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_1_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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_1),_mm256_mul_pd(tmp_qloop_13,ux_dof_2)),_mm256_mul_pd(tmp_qloop_16,ux_dof_3)),_mm256_mul_pd(tmp_qloop_17,ux_dof_7)),_mm256_mul_pd(tmp_qloop_18,ux_dof_8)),_mm256_mul_pd(tmp_qloop_20,ux_dof_9)),_mm256_mul_pd(tmp_qloop_21,ux_dof_0)),_mm256_mul_pd(tmp_qloop_5,ux_dof_6)),_mm256_mul_pd(tmp_qloop_6,ux_dof_5)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_1),_mm256_mul_pd(tmp_qloop_13,uy_dof_2)),_mm256_mul_pd(tmp_qloop_16,uy_dof_3)),_mm256_mul_pd(tmp_qloop_17,uy_dof_7)),_mm256_mul_pd(tmp_qloop_18,uy_dof_8)),_mm256_mul_pd(tmp_qloop_20,uy_dof_9)),_mm256_mul_pd(tmp_qloop_21,uy_dof_0)),_mm256_mul_pd(tmp_qloop_5,uy_dof_6)),_mm256_mul_pd(tmp_qloop_6,uy_dof_5)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_1),_mm256_mul_pd(tmp_qloop_13,uz_dof_2)),_mm256_mul_pd(tmp_qloop_16,uz_dof_3)),_mm256_mul_pd(tmp_qloop_17,uz_dof_7)),_mm256_mul_pd(tmp_qloop_18,uz_dof_8)),_mm256_mul_pd(tmp_qloop_20,uz_dof_9)),_mm256_mul_pd(tmp_qloop_21,uz_dof_0)),_mm256_mul_pd(tmp_qloop_5,uz_dof_6)),_mm256_mul_pd(tmp_qloop_6,uz_dof_5)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4));
+                   const __m256d tmp_qloop_25 = _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(cp_times_delta_dof_0,tmp_qloop_21),_mm256_mul_pd(cp_times_delta_dof_1,tmp_qloop_10)),_mm256_mul_pd(cp_times_delta_dof_2,tmp_qloop_13)),_mm256_mul_pd(cp_times_delta_dof_3,tmp_qloop_16)),_mm256_mul_pd(cp_times_delta_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_times_delta_dof_5,tmp_qloop_6)),_mm256_mul_pd(cp_times_delta_dof_6,tmp_qloop_5)),_mm256_mul_pd(cp_times_delta_dof_7,tmp_qloop_17)),_mm256_mul_pd(cp_times_delta_dof_8,tmp_qloop_18)),_mm256_mul_pd(cp_times_delta_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP));
+                   const __m256d tmp_qloop_26 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP));
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP));
+                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP));
+                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP));
+                   const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP));
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP));
+                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP));
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_50 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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 q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))))));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)))));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)))));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_29,tmp_qloop_30)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_31,tmp_qloop_32))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_33,tmp_qloop_34))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_29,tmp_qloop_30)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_31,tmp_qloop_32))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_33,tmp_qloop_34)))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_35,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_35,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40)))));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46)))));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))))));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)))))));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)))))));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_9);
+                }
+                const __m256d elMatDiag_0 = q_acc_0_0;
+                const __m256d elMatDiag_1 = q_acc_1_1;
+                const __m256d elMatDiag_2 = q_acc_2_2;
+                const __m256d elMatDiag_3 = q_acc_3_3;
+                const __m256d elMatDiag_4 = q_acc_4_4;
+                const __m256d elMatDiag_5 = q_acc_5_5;
+                const __m256d elMatDiag_6 = q_acc_6_6;
+                const __m256d elMatDiag_7 = q_acc_7_7;
+                const __m256d elMatDiag_8 = q_acc_8_8;
+                const __m256d elMatDiag_9 = q_acc_9_9;
+                _mm256_storeu_pd(&_data_invDiag_Vertex[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(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_6,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_7,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_8,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_9,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+             }
+             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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                   const real_t tmp_qloop_25 = abs_det_jac_affine_WHITE_UP*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_26 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_27 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_28 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_29 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_30 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_31 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_32 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_33 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_34 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_35 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_36 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_37 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_38 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_39 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_40 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_41 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_42 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_43 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_44 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_45 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_47 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_48 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_49 = -tmp_qloop_1 - tmp_qloop_48 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_50 = -tmp_qloop_2 - tmp_qloop_48 - 8.0*_data_q_p_0[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_4))*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_4)));
+                   const real_t q_tmp_1_1 = tmp_qloop_25*((jac_affine_inv_0_0_WHITE_UP*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_24*tmp_qloop_26)*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_24*tmp_qloop_26));
+                   const real_t q_tmp_2_2 = tmp_qloop_25*((jac_affine_inv_1_0_WHITE_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_24*tmp_qloop_27)*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_24*tmp_qloop_27));
+                   const real_t q_tmp_3_3 = tmp_qloop_25*((jac_affine_inv_2_0_WHITE_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_24*tmp_qloop_28)*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_24*tmp_qloop_28));
+                   const real_t q_tmp_4_4 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34))*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34)));
+                   const real_t q_tmp_5_5 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40))*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40)));
+                   const real_t q_tmp_6_6 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46))*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46)));
+                   const real_t q_tmp_7_7 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40))*(tmp_qloop_22*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40)));
+                   const real_t q_tmp_8_8 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46))*(tmp_qloop_22*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46)));
+                   const real_t q_tmp_9_9 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45))*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45)));
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+                }
+                const real_t elMatDiag_0 = q_acc_0_0;
+                const real_t elMatDiag_1 = q_acc_1_1;
+                const real_t elMatDiag_2 = q_acc_2_2;
+                const real_t elMatDiag_3 = q_acc_3_3;
+                const real_t elMatDiag_4 = q_acc_4_4;
+                const real_t elMatDiag_5 = q_acc_5_5;
+                const real_t elMatDiag_6 = q_acc_6_6;
+                const real_t elMatDiag_7 = q_acc_7_7;
+                const real_t elMatDiag_8 = q_acc_8_8;
+                const real_t elMatDiag_9 = q_acc_9_9;
+                _data_invDiag_Vertex[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))] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_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 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_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 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_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 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN;
+       const real_t tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN);
+       const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN);
+       const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN);
+       const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN);
+       const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN);
+       {
+          /* CellType.WHITE_DOWN */
+          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 cp_times_delta_dof_0 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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_1_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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_1),_mm256_mul_pd(tmp_qloop_13,ux_dof_2)),_mm256_mul_pd(tmp_qloop_16,ux_dof_3)),_mm256_mul_pd(tmp_qloop_17,ux_dof_7)),_mm256_mul_pd(tmp_qloop_18,ux_dof_8)),_mm256_mul_pd(tmp_qloop_20,ux_dof_9)),_mm256_mul_pd(tmp_qloop_21,ux_dof_0)),_mm256_mul_pd(tmp_qloop_5,ux_dof_6)),_mm256_mul_pd(tmp_qloop_6,ux_dof_5)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_1),_mm256_mul_pd(tmp_qloop_13,uy_dof_2)),_mm256_mul_pd(tmp_qloop_16,uy_dof_3)),_mm256_mul_pd(tmp_qloop_17,uy_dof_7)),_mm256_mul_pd(tmp_qloop_18,uy_dof_8)),_mm256_mul_pd(tmp_qloop_20,uy_dof_9)),_mm256_mul_pd(tmp_qloop_21,uy_dof_0)),_mm256_mul_pd(tmp_qloop_5,uy_dof_6)),_mm256_mul_pd(tmp_qloop_6,uy_dof_5)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_1),_mm256_mul_pd(tmp_qloop_13,uz_dof_2)),_mm256_mul_pd(tmp_qloop_16,uz_dof_3)),_mm256_mul_pd(tmp_qloop_17,uz_dof_7)),_mm256_mul_pd(tmp_qloop_18,uz_dof_8)),_mm256_mul_pd(tmp_qloop_20,uz_dof_9)),_mm256_mul_pd(tmp_qloop_21,uz_dof_0)),_mm256_mul_pd(tmp_qloop_5,uz_dof_6)),_mm256_mul_pd(tmp_qloop_6,uz_dof_5)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4));
+                   const __m256d tmp_qloop_25 = _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(cp_times_delta_dof_0,tmp_qloop_21),_mm256_mul_pd(cp_times_delta_dof_1,tmp_qloop_10)),_mm256_mul_pd(cp_times_delta_dof_2,tmp_qloop_13)),_mm256_mul_pd(cp_times_delta_dof_3,tmp_qloop_16)),_mm256_mul_pd(cp_times_delta_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_times_delta_dof_5,tmp_qloop_6)),_mm256_mul_pd(cp_times_delta_dof_6,tmp_qloop_5)),_mm256_mul_pd(cp_times_delta_dof_7,tmp_qloop_17)),_mm256_mul_pd(cp_times_delta_dof_8,tmp_qloop_18)),_mm256_mul_pd(cp_times_delta_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN));
+                   const __m256d tmp_qloop_26 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_50 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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 q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))))));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)))));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)))));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_29,tmp_qloop_30)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_31,tmp_qloop_32))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_33,tmp_qloop_34))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_29,tmp_qloop_30)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_31,tmp_qloop_32))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_33,tmp_qloop_34)))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_35,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_35,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40)))));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46)))));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))))));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)))))));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)))))));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_9);
+                }
+                const __m256d elMatDiag_0 = q_acc_0_0;
+                const __m256d elMatDiag_1 = q_acc_1_1;
+                const __m256d elMatDiag_2 = q_acc_2_2;
+                const __m256d elMatDiag_3 = q_acc_3_3;
+                const __m256d elMatDiag_4 = q_acc_4_4;
+                const __m256d elMatDiag_5 = q_acc_5_5;
+                const __m256d elMatDiag_6 = q_acc_6_6;
+                const __m256d elMatDiag_7 = q_acc_7_7;
+                const __m256d elMatDiag_8 = q_acc_8_8;
+                const __m256d elMatDiag_9 = q_acc_9_9;
+                _mm256_storeu_pd(&_data_invDiag_Vertex[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(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_Vertex[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_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_6,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_7,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_8,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_9,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+             }
+             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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                   const real_t tmp_qloop_25 = abs_det_jac_affine_WHITE_DOWN*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_26 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_27 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_28 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_29 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_30 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_31 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_32 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_33 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_34 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_35 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_36 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_37 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_38 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_39 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_40 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_41 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_42 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_43 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_44 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_45 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_47 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_48 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_49 = -tmp_qloop_1 - tmp_qloop_48 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_50 = -tmp_qloop_2 - tmp_qloop_48 - 8.0*_data_q_p_0[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_4))*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_4)));
+                   const real_t q_tmp_1_1 = tmp_qloop_25*((jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_26)*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_26));
+                   const real_t q_tmp_2_2 = tmp_qloop_25*((jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_27)*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_27));
+                   const real_t q_tmp_3_3 = tmp_qloop_25*((jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_28)*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_28));
+                   const real_t q_tmp_4_4 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34))*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34)));
+                   const real_t q_tmp_5_5 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40))*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40)));
+                   const real_t q_tmp_6_6 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46))*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46)));
+                   const real_t q_tmp_7_7 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40))*(tmp_qloop_22*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40)));
+                   const real_t q_tmp_8_8 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46))*(tmp_qloop_22*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46)));
+                   const real_t q_tmp_9_9 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45))*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45)));
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+                }
+                const real_t elMatDiag_0 = q_acc_0_0;
+                const real_t elMatDiag_1 = q_acc_1_1;
+                const real_t elMatDiag_2 = q_acc_2_2;
+                const real_t elMatDiag_3 = q_acc_3_3;
+                const real_t elMatDiag_4 = q_acc_4_4;
+                const real_t elMatDiag_5 = q_acc_5_5;
+                const real_t elMatDiag_6 = q_acc_6_6;
+                const real_t elMatDiag_7 = q_acc_7_7;
+                const real_t elMatDiag_8 = q_acc_8_8;
+                const real_t elMatDiag_9 = q_acc_9_9;
+                _data_invDiag_Vertex[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] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_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 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_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 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_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 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP;
+       const real_t tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP);
+       const real_t jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP);
+       const real_t jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP);
+       const real_t jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP);
+       const real_t jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP);
+       {
+          /* CellType.BLUE_UP */
+          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 cp_times_delta_dof_0 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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_1_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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_1),_mm256_mul_pd(tmp_qloop_13,ux_dof_2)),_mm256_mul_pd(tmp_qloop_16,ux_dof_3)),_mm256_mul_pd(tmp_qloop_17,ux_dof_7)),_mm256_mul_pd(tmp_qloop_18,ux_dof_8)),_mm256_mul_pd(tmp_qloop_20,ux_dof_9)),_mm256_mul_pd(tmp_qloop_21,ux_dof_0)),_mm256_mul_pd(tmp_qloop_5,ux_dof_6)),_mm256_mul_pd(tmp_qloop_6,ux_dof_5)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_1),_mm256_mul_pd(tmp_qloop_13,uy_dof_2)),_mm256_mul_pd(tmp_qloop_16,uy_dof_3)),_mm256_mul_pd(tmp_qloop_17,uy_dof_7)),_mm256_mul_pd(tmp_qloop_18,uy_dof_8)),_mm256_mul_pd(tmp_qloop_20,uy_dof_9)),_mm256_mul_pd(tmp_qloop_21,uy_dof_0)),_mm256_mul_pd(tmp_qloop_5,uy_dof_6)),_mm256_mul_pd(tmp_qloop_6,uy_dof_5)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_1),_mm256_mul_pd(tmp_qloop_13,uz_dof_2)),_mm256_mul_pd(tmp_qloop_16,uz_dof_3)),_mm256_mul_pd(tmp_qloop_17,uz_dof_7)),_mm256_mul_pd(tmp_qloop_18,uz_dof_8)),_mm256_mul_pd(tmp_qloop_20,uz_dof_9)),_mm256_mul_pd(tmp_qloop_21,uz_dof_0)),_mm256_mul_pd(tmp_qloop_5,uz_dof_6)),_mm256_mul_pd(tmp_qloop_6,uz_dof_5)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4));
+                   const __m256d tmp_qloop_25 = _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(cp_times_delta_dof_0,tmp_qloop_21),_mm256_mul_pd(cp_times_delta_dof_1,tmp_qloop_10)),_mm256_mul_pd(cp_times_delta_dof_2,tmp_qloop_13)),_mm256_mul_pd(cp_times_delta_dof_3,tmp_qloop_16)),_mm256_mul_pd(cp_times_delta_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_times_delta_dof_5,tmp_qloop_6)),_mm256_mul_pd(cp_times_delta_dof_6,tmp_qloop_5)),_mm256_mul_pd(cp_times_delta_dof_7,tmp_qloop_17)),_mm256_mul_pd(cp_times_delta_dof_8,tmp_qloop_18)),_mm256_mul_pd(cp_times_delta_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP));
+                   const __m256d tmp_qloop_26 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP));
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP));
+                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP));
+                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP));
+                   const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP));
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP));
+                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP));
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_50 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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 q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))))));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)))));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)))));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_29,tmp_qloop_30)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_31,tmp_qloop_32))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_33,tmp_qloop_34))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_29,tmp_qloop_30)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_31,tmp_qloop_32))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_33,tmp_qloop_34)))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_35,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_35,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40)))));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46)))));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))))));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)))))));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)))))));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_9);
+                }
+                const __m256d elMatDiag_0 = q_acc_0_0;
+                const __m256d elMatDiag_1 = q_acc_1_1;
+                const __m256d elMatDiag_2 = q_acc_2_2;
+                const __m256d elMatDiag_3 = q_acc_3_3;
+                const __m256d elMatDiag_4 = q_acc_4_4;
+                const __m256d elMatDiag_5 = q_acc_5_5;
+                const __m256d elMatDiag_6 = q_acc_6_6;
+                const __m256d elMatDiag_7 = q_acc_7_7;
+                const __m256d elMatDiag_8 = q_acc_8_8;
+                const __m256d elMatDiag_9 = q_acc_9_9;
+                _mm256_storeu_pd(&_data_invDiag_Vertex[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(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Edge[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],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_6,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_7,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_8,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_9,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+             }
+             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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                   const real_t tmp_qloop_25 = abs_det_jac_affine_BLUE_UP*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_26 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_27 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_28 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_29 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_30 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_31 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_32 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_33 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_34 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_35 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_36 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_37 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_38 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_39 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_40 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_41 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_42 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_43 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_44 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_45 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_47 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_48 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_49 = -tmp_qloop_1 - tmp_qloop_48 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_50 = -tmp_qloop_2 - tmp_qloop_48 - 8.0*_data_q_p_0[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_4))*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_4)));
+                   const real_t q_tmp_1_1 = tmp_qloop_25*((jac_affine_inv_0_0_BLUE_UP*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_BLUE_UP*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_BLUE_UP*tmp_qloop_24*tmp_qloop_26)*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_BLUE_UP*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_BLUE_UP*tmp_qloop_24*tmp_qloop_26));
+                   const real_t q_tmp_2_2 = tmp_qloop_25*((jac_affine_inv_1_0_BLUE_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_24*tmp_qloop_27)*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_24*tmp_qloop_27));
+                   const real_t q_tmp_3_3 = tmp_qloop_25*((jac_affine_inv_2_0_BLUE_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_24*tmp_qloop_28)*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_24*tmp_qloop_28));
+                   const real_t q_tmp_4_4 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34))*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34)));
+                   const real_t q_tmp_5_5 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40))*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40)));
+                   const real_t q_tmp_6_6 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46))*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46)));
+                   const real_t q_tmp_7_7 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40))*(tmp_qloop_22*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40)));
+                   const real_t q_tmp_8_8 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46))*(tmp_qloop_22*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46)));
+                   const real_t q_tmp_9_9 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45))*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45)));
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+                }
+                const real_t elMatDiag_0 = q_acc_0_0;
+                const real_t elMatDiag_1 = q_acc_1_1;
+                const real_t elMatDiag_2 = q_acc_2_2;
+                const real_t elMatDiag_3 = q_acc_3_3;
+                const real_t elMatDiag_4 = q_acc_4_4;
+                const real_t elMatDiag_5 = q_acc_5_5;
+                const real_t elMatDiag_6 = q_acc_6_6;
+                const real_t elMatDiag_7 = q_acc_7_7;
+                const real_t elMatDiag_8 = q_acc_8_8;
+                const real_t elMatDiag_9 = q_acc_9_9;
+                _data_invDiag_Vertex[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] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_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 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN;
+       const real_t tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN);
+       const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN);
+       const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN);
+       const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN);
+       const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN);
+       {
+          /* CellType.BLUE_DOWN */
+          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 cp_times_delta_dof_0 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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_1_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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_1),_mm256_mul_pd(tmp_qloop_13,ux_dof_2)),_mm256_mul_pd(tmp_qloop_16,ux_dof_3)),_mm256_mul_pd(tmp_qloop_17,ux_dof_7)),_mm256_mul_pd(tmp_qloop_18,ux_dof_8)),_mm256_mul_pd(tmp_qloop_20,ux_dof_9)),_mm256_mul_pd(tmp_qloop_21,ux_dof_0)),_mm256_mul_pd(tmp_qloop_5,ux_dof_6)),_mm256_mul_pd(tmp_qloop_6,ux_dof_5)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_1),_mm256_mul_pd(tmp_qloop_13,uy_dof_2)),_mm256_mul_pd(tmp_qloop_16,uy_dof_3)),_mm256_mul_pd(tmp_qloop_17,uy_dof_7)),_mm256_mul_pd(tmp_qloop_18,uy_dof_8)),_mm256_mul_pd(tmp_qloop_20,uy_dof_9)),_mm256_mul_pd(tmp_qloop_21,uy_dof_0)),_mm256_mul_pd(tmp_qloop_5,uy_dof_6)),_mm256_mul_pd(tmp_qloop_6,uy_dof_5)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_1),_mm256_mul_pd(tmp_qloop_13,uz_dof_2)),_mm256_mul_pd(tmp_qloop_16,uz_dof_3)),_mm256_mul_pd(tmp_qloop_17,uz_dof_7)),_mm256_mul_pd(tmp_qloop_18,uz_dof_8)),_mm256_mul_pd(tmp_qloop_20,uz_dof_9)),_mm256_mul_pd(tmp_qloop_21,uz_dof_0)),_mm256_mul_pd(tmp_qloop_5,uz_dof_6)),_mm256_mul_pd(tmp_qloop_6,uz_dof_5)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4));
+                   const __m256d tmp_qloop_25 = _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(cp_times_delta_dof_0,tmp_qloop_21),_mm256_mul_pd(cp_times_delta_dof_1,tmp_qloop_10)),_mm256_mul_pd(cp_times_delta_dof_2,tmp_qloop_13)),_mm256_mul_pd(cp_times_delta_dof_3,tmp_qloop_16)),_mm256_mul_pd(cp_times_delta_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_times_delta_dof_5,tmp_qloop_6)),_mm256_mul_pd(cp_times_delta_dof_6,tmp_qloop_5)),_mm256_mul_pd(cp_times_delta_dof_7,tmp_qloop_17)),_mm256_mul_pd(cp_times_delta_dof_8,tmp_qloop_18)),_mm256_mul_pd(cp_times_delta_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN));
+                   const __m256d tmp_qloop_26 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_50 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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 q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))))));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)))));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)))));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_29,tmp_qloop_30)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_31,tmp_qloop_32))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_33,tmp_qloop_34))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_29,tmp_qloop_30)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_31,tmp_qloop_32))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_33,tmp_qloop_34)))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_35,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_35,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40)))));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46)))));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))))));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)))))));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)))))));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_9);
+                }
+                const __m256d elMatDiag_0 = q_acc_0_0;
+                const __m256d elMatDiag_1 = q_acc_1_1;
+                const __m256d elMatDiag_2 = q_acc_2_2;
+                const __m256d elMatDiag_3 = q_acc_3_3;
+                const __m256d elMatDiag_4 = q_acc_4_4;
+                const __m256d elMatDiag_5 = q_acc_5_5;
+                const __m256d elMatDiag_6 = q_acc_6_6;
+                const __m256d elMatDiag_7 = q_acc_7_7;
+                const __m256d elMatDiag_8 = q_acc_8_8;
+                const __m256d elMatDiag_9 = q_acc_9_9;
+                _mm256_storeu_pd(&_data_invDiag_Vertex[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(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_6,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_7,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_8,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_9,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+             }
+             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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                   const real_t tmp_qloop_25 = abs_det_jac_affine_BLUE_DOWN*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_26 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_27 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_28 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_29 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_30 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_31 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_32 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_33 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_34 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_35 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_36 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_37 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_38 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_39 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_40 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_41 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_42 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_43 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_44 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_45 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_47 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_48 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_49 = -tmp_qloop_1 - tmp_qloop_48 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_50 = -tmp_qloop_2 - tmp_qloop_48 - 8.0*_data_q_p_0[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_4))*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_4)));
+                   const real_t q_tmp_1_1 = tmp_qloop_25*((jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_26)*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_26));
+                   const real_t q_tmp_2_2 = tmp_qloop_25*((jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_27)*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_27));
+                   const real_t q_tmp_3_3 = tmp_qloop_25*((jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_28)*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_28));
+                   const real_t q_tmp_4_4 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34))*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34)));
+                   const real_t q_tmp_5_5 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40))*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40)));
+                   const real_t q_tmp_6_6 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46))*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46)));
+                   const real_t q_tmp_7_7 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40))*(tmp_qloop_22*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40)));
+                   const real_t q_tmp_8_8 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46))*(tmp_qloop_22*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46)));
+                   const real_t q_tmp_9_9 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45))*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45)));
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+                }
+                const real_t elMatDiag_0 = q_acc_0_0;
+                const real_t elMatDiag_1 = q_acc_1_1;
+                const real_t elMatDiag_2 = q_acc_2_2;
+                const real_t elMatDiag_3 = q_acc_3_3;
+                const real_t elMatDiag_4 = q_acc_4_4;
+                const real_t elMatDiag_5 = q_acc_5_5;
+                const real_t elMatDiag_6 = q_acc_6_6;
+                const real_t elMatDiag_7 = q_acc_7_7;
+                const real_t elMatDiag_8 = q_acc_8_8;
+                const real_t elMatDiag_9 = q_acc_9_9;
+                _data_invDiag_Vertex[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))] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_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 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_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 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_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 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP;
+       const real_t tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP);
+       const real_t jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP);
+       const real_t jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP);
+       const real_t jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP);
+       const real_t jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP);
+       {
+          /* CellType.GREEN_UP */
+          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 cp_times_delta_dof_0 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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_1_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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_1),_mm256_mul_pd(tmp_qloop_13,ux_dof_2)),_mm256_mul_pd(tmp_qloop_16,ux_dof_3)),_mm256_mul_pd(tmp_qloop_17,ux_dof_7)),_mm256_mul_pd(tmp_qloop_18,ux_dof_8)),_mm256_mul_pd(tmp_qloop_20,ux_dof_9)),_mm256_mul_pd(tmp_qloop_21,ux_dof_0)),_mm256_mul_pd(tmp_qloop_5,ux_dof_6)),_mm256_mul_pd(tmp_qloop_6,ux_dof_5)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_1),_mm256_mul_pd(tmp_qloop_13,uy_dof_2)),_mm256_mul_pd(tmp_qloop_16,uy_dof_3)),_mm256_mul_pd(tmp_qloop_17,uy_dof_7)),_mm256_mul_pd(tmp_qloop_18,uy_dof_8)),_mm256_mul_pd(tmp_qloop_20,uy_dof_9)),_mm256_mul_pd(tmp_qloop_21,uy_dof_0)),_mm256_mul_pd(tmp_qloop_5,uy_dof_6)),_mm256_mul_pd(tmp_qloop_6,uy_dof_5)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_1),_mm256_mul_pd(tmp_qloop_13,uz_dof_2)),_mm256_mul_pd(tmp_qloop_16,uz_dof_3)),_mm256_mul_pd(tmp_qloop_17,uz_dof_7)),_mm256_mul_pd(tmp_qloop_18,uz_dof_8)),_mm256_mul_pd(tmp_qloop_20,uz_dof_9)),_mm256_mul_pd(tmp_qloop_21,uz_dof_0)),_mm256_mul_pd(tmp_qloop_5,uz_dof_6)),_mm256_mul_pd(tmp_qloop_6,uz_dof_5)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4));
+                   const __m256d tmp_qloop_25 = _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(cp_times_delta_dof_0,tmp_qloop_21),_mm256_mul_pd(cp_times_delta_dof_1,tmp_qloop_10)),_mm256_mul_pd(cp_times_delta_dof_2,tmp_qloop_13)),_mm256_mul_pd(cp_times_delta_dof_3,tmp_qloop_16)),_mm256_mul_pd(cp_times_delta_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_times_delta_dof_5,tmp_qloop_6)),_mm256_mul_pd(cp_times_delta_dof_6,tmp_qloop_5)),_mm256_mul_pd(cp_times_delta_dof_7,tmp_qloop_17)),_mm256_mul_pd(cp_times_delta_dof_8,tmp_qloop_18)),_mm256_mul_pd(cp_times_delta_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP));
+                   const __m256d tmp_qloop_26 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP));
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP));
+                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP));
+                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP));
+                   const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP));
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP));
+                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP));
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_50 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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 q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))))));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)))));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)))));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_29,tmp_qloop_30)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_31,tmp_qloop_32))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_33,tmp_qloop_34))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_29,tmp_qloop_30)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_31,tmp_qloop_32))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_33,tmp_qloop_34)))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_35,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_35,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40)))));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46)))));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))))));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)))))));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)))))));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_9);
+                }
+                const __m256d elMatDiag_0 = q_acc_0_0;
+                const __m256d elMatDiag_1 = q_acc_1_1;
+                const __m256d elMatDiag_2 = q_acc_2_2;
+                const __m256d elMatDiag_3 = q_acc_3_3;
+                const __m256d elMatDiag_4 = q_acc_4_4;
+                const __m256d elMatDiag_5 = q_acc_5_5;
+                const __m256d elMatDiag_6 = q_acc_6_6;
+                const __m256d elMatDiag_7 = q_acc_7_7;
+                const __m256d elMatDiag_8 = q_acc_8_8;
+                const __m256d elMatDiag_9 = q_acc_9_9;
+                _mm256_storeu_pd(&_data_invDiag_Vertex[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(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_6,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_7,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_8,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_9,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+             }
+             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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                   const real_t tmp_qloop_25 = abs_det_jac_affine_GREEN_UP*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_26 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_27 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_28 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_29 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_30 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_31 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_32 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_33 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_34 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_35 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_36 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_37 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_38 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_39 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_40 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_41 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_42 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_43 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_44 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_45 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_47 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_48 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_49 = -tmp_qloop_1 - tmp_qloop_48 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_50 = -tmp_qloop_2 - tmp_qloop_48 - 8.0*_data_q_p_0[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_4))*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_4)));
+                   const real_t q_tmp_1_1 = tmp_qloop_25*((jac_affine_inv_0_0_GREEN_UP*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_GREEN_UP*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_GREEN_UP*tmp_qloop_24*tmp_qloop_26)*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_GREEN_UP*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_GREEN_UP*tmp_qloop_24*tmp_qloop_26));
+                   const real_t q_tmp_2_2 = tmp_qloop_25*((jac_affine_inv_1_0_GREEN_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_24*tmp_qloop_27)*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_24*tmp_qloop_27));
+                   const real_t q_tmp_3_3 = tmp_qloop_25*((jac_affine_inv_2_0_GREEN_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_24*tmp_qloop_28)*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_24*tmp_qloop_28));
+                   const real_t q_tmp_4_4 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34))*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34)));
+                   const real_t q_tmp_5_5 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40))*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40)));
+                   const real_t q_tmp_6_6 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46))*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46)));
+                   const real_t q_tmp_7_7 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40))*(tmp_qloop_22*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40)));
+                   const real_t q_tmp_8_8 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46))*(tmp_qloop_22*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46)));
+                   const real_t q_tmp_9_9 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45))*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45)));
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+                }
+                const real_t elMatDiag_0 = q_acc_0_0;
+                const real_t elMatDiag_1 = q_acc_1_1;
+                const real_t elMatDiag_2 = q_acc_2_2;
+                const real_t elMatDiag_3 = q_acc_3_3;
+                const real_t elMatDiag_4 = q_acc_4_4;
+                const real_t elMatDiag_5 = q_acc_5_5;
+                const real_t elMatDiag_6 = q_acc_6_6;
+                const real_t elMatDiag_7 = q_acc_7_7;
+                const real_t elMatDiag_8 = q_acc_8_8;
+                const real_t elMatDiag_9 = q_acc_9_9;
+                _data_invDiag_Vertex[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] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_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 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN;
+       const real_t tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN);
+       const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN);
+       const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN);
+       const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN);
+       const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN);
+       {
+          /* CellType.GREEN_DOWN */
+          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 cp_times_delta_dof_0 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _mm256_loadu_pd(& _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _mm256_loadu_pd(& _data_cp_times_deltaEdge[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 ux_dof_0 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_1 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_2 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_3 = _mm256_loadu_pd(& _data_uxVertex[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 ux_dof_4 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_5 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_6 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_7 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_8 = _mm256_loadu_pd(& _data_uxEdge[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 ux_dof_9 = _mm256_loadu_pd(& _data_uxEdge[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 uy_dof_0 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_1 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_2 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_3 = _mm256_loadu_pd(& _data_uyVertex[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 uy_dof_4 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_5 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_6 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_7 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_8 = _mm256_loadu_pd(& _data_uyEdge[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 uy_dof_9 = _mm256_loadu_pd(& _data_uyEdge[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 uz_dof_0 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_1 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_2 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_3 = _mm256_loadu_pd(& _data_uzVertex[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 uz_dof_4 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_5 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_6 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_7 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_8 = _mm256_loadu_pd(& _data_uzEdge[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 uz_dof_9 = _mm256_loadu_pd(& _data_uzEdge[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_1_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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,ux_dof_1),_mm256_mul_pd(tmp_qloop_13,ux_dof_2)),_mm256_mul_pd(tmp_qloop_16,ux_dof_3)),_mm256_mul_pd(tmp_qloop_17,ux_dof_7)),_mm256_mul_pd(tmp_qloop_18,ux_dof_8)),_mm256_mul_pd(tmp_qloop_20,ux_dof_9)),_mm256_mul_pd(tmp_qloop_21,ux_dof_0)),_mm256_mul_pd(tmp_qloop_5,ux_dof_6)),_mm256_mul_pd(tmp_qloop_6,ux_dof_5)),_mm256_mul_pd(tmp_qloop_7,ux_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,uy_dof_1),_mm256_mul_pd(tmp_qloop_13,uy_dof_2)),_mm256_mul_pd(tmp_qloop_16,uy_dof_3)),_mm256_mul_pd(tmp_qloop_17,uy_dof_7)),_mm256_mul_pd(tmp_qloop_18,uy_dof_8)),_mm256_mul_pd(tmp_qloop_20,uy_dof_9)),_mm256_mul_pd(tmp_qloop_21,uy_dof_0)),_mm256_mul_pd(tmp_qloop_5,uy_dof_6)),_mm256_mul_pd(tmp_qloop_6,uy_dof_5)),_mm256_mul_pd(tmp_qloop_7,uy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,uz_dof_1),_mm256_mul_pd(tmp_qloop_13,uz_dof_2)),_mm256_mul_pd(tmp_qloop_16,uz_dof_3)),_mm256_mul_pd(tmp_qloop_17,uz_dof_7)),_mm256_mul_pd(tmp_qloop_18,uz_dof_8)),_mm256_mul_pd(tmp_qloop_20,uz_dof_9)),_mm256_mul_pd(tmp_qloop_21,uz_dof_0)),_mm256_mul_pd(tmp_qloop_5,uz_dof_6)),_mm256_mul_pd(tmp_qloop_6,uz_dof_5)),_mm256_mul_pd(tmp_qloop_7,uz_dof_4));
+                   const __m256d tmp_qloop_25 = _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(cp_times_delta_dof_0,tmp_qloop_21),_mm256_mul_pd(cp_times_delta_dof_1,tmp_qloop_10)),_mm256_mul_pd(cp_times_delta_dof_2,tmp_qloop_13)),_mm256_mul_pd(cp_times_delta_dof_3,tmp_qloop_16)),_mm256_mul_pd(cp_times_delta_dof_4,tmp_qloop_7)),_mm256_mul_pd(cp_times_delta_dof_5,tmp_qloop_6)),_mm256_mul_pd(cp_times_delta_dof_6,tmp_qloop_5)),_mm256_mul_pd(cp_times_delta_dof_7,tmp_qloop_17)),_mm256_mul_pd(cp_times_delta_dof_8,tmp_qloop_18)),_mm256_mul_pd(cp_times_delta_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN));
+                   const __m256d tmp_qloop_26 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_33 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_36 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_39 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_47 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_50 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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 q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))))));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_26),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)))));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)))));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_29,tmp_qloop_30)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_31,tmp_qloop_32))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_33,tmp_qloop_34))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_29,tmp_qloop_30)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_31,tmp_qloop_32))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_33,tmp_qloop_34)))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_35,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_35,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_37,tmp_qloop_38))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_39,tmp_qloop_40)))));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_41,tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_43,tmp_qloop_44))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_45,tmp_qloop_46)))));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_36,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))))));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)))))));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_25,_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)))))));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_9);
+                }
+                const __m256d elMatDiag_0 = q_acc_0_0;
+                const __m256d elMatDiag_1 = q_acc_1_1;
+                const __m256d elMatDiag_2 = q_acc_2_2;
+                const __m256d elMatDiag_3 = q_acc_3_3;
+                const __m256d elMatDiag_4 = q_acc_4_4;
+                const __m256d elMatDiag_5 = q_acc_5_5;
+                const __m256d elMatDiag_6 = q_acc_6_6;
+                const __m256d elMatDiag_7 = q_acc_7_7;
+                const __m256d elMatDiag_8 = q_acc_8_8;
+                const __m256d elMatDiag_9 = q_acc_9_9;
+                _mm256_storeu_pd(&_data_invDiag_Vertex[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(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_6,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_7,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_8,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_9,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+             }
+             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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                   const real_t tmp_qloop_25 = abs_det_jac_affine_GREEN_DOWN*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_26 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_27 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_28 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_29 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_30 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_31 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_32 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_33 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_34 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_35 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_36 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_37 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_38 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_39 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_40 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_41 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_42 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_43 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_44 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_45 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_46 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_47 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_48 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_49 = -tmp_qloop_1 - tmp_qloop_48 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_50 = -tmp_qloop_2 - tmp_qloop_48 - 8.0*_data_q_p_0[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_4))*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_4)));
+                   const real_t q_tmp_1_1 = tmp_qloop_25*((jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_26)*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_26));
+                   const real_t q_tmp_2_2 = tmp_qloop_25*((jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_27)*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_27));
+                   const real_t q_tmp_3_3 = tmp_qloop_25*((jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_28)*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_28));
+                   const real_t q_tmp_4_4 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34))*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34)));
+                   const real_t q_tmp_5_5 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40))*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40)));
+                   const real_t q_tmp_6_6 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46))*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46)));
+                   const real_t q_tmp_7_7 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40))*(tmp_qloop_22*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40)));
+                   const real_t q_tmp_8_8 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46))*(tmp_qloop_22*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46)));
+                   const real_t q_tmp_9_9 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45))*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45)));
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+                }
+                const real_t elMatDiag_0 = q_acc_0_0;
+                const real_t elMatDiag_1 = q_acc_1_1;
+                const real_t elMatDiag_2 = q_acc_2_2;
+                const real_t elMatDiag_3 = q_acc_3_3;
+                const real_t elMatDiag_4 = q_acc_4_4;
+                const real_t elMatDiag_5 = q_acc_5_5;
+                const real_t elMatDiag_6 = q_acc_6_6;
+                const real_t elMatDiag_7 = q_acc_7_7;
+                const real_t elMatDiag_8 = q_acc_8_8;
+                const real_t elMatDiag_9 = q_acc_9_9;
+                _data_invDiag_Vertex[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))] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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))];
+             }
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/supg_advection/noarch/P2ElementwiseSupgAdvection_apply_P2ElementwiseSupgAdvection_macro_3D.cpp b/operators/supg_advection/noarch/P2ElementwiseSupgAdvection_apply_P2ElementwiseSupgAdvection_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..1588eb77a45e3462f8b4d15efb664be8660397a3
--- /dev/null
+++ b/operators/supg_advection/noarch/P2ElementwiseSupgAdvection_apply_P2ElementwiseSupgAdvection_macro_3D.cpp
@@ -0,0 +1,3504 @@
+/*
+* 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 Operator Generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ElementwiseSupgAdvection.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ElementwiseSupgAdvection::apply_P2ElementwiseSupgAdvection_macro_3D( real_t * RESTRICT  _data_cp_times_deltaEdge, real_t * RESTRICT  _data_cp_times_deltaVertex, real_t * RESTRICT  _data_dstEdge, real_t * RESTRICT  _data_dstVertex, real_t * RESTRICT  _data_srcEdge, real_t * RESTRICT  _data_srcVertex, real_t * RESTRICT  _data_uxEdge, real_t * RESTRICT  _data_uxVertex, real_t * RESTRICT  _data_uyEdge, real_t * RESTRICT  _data_uyVertex, real_t * RESTRICT  _data_uzEdge, real_t * RESTRICT  _data_uzVertex, 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 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_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 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_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 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_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 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP;
+       const real_t tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP);
+       const real_t jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP);
+       const real_t jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP);
+       const real_t jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP);
+       const real_t jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP);
+       {
+          /* CellType.WHITE_UP */
+          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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_WHITE_UP*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_28 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_24*tmp_qloop_27;
+                const real_t tmp_qloop_29 = tmp_qloop_25*tmp_qloop_26;
+                const real_t tmp_qloop_30 = tmp_qloop_28*tmp_qloop_29;
+                const real_t tmp_qloop_31 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_22*tmp_qloop_31 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_23*tmp_qloop_31 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_24*tmp_qloop_31;
+                const real_t tmp_qloop_33 = tmp_qloop_29*tmp_qloop_32;
+                const real_t tmp_qloop_34 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_22*tmp_qloop_34 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_23*tmp_qloop_34 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_24*tmp_qloop_34;
+                const real_t tmp_qloop_36 = tmp_qloop_29*tmp_qloop_35;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_38 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_40 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_41 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_42 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_43 = tmp_qloop_22*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_23*(tmp_qloop_39 + tmp_qloop_40) + tmp_qloop_24*(tmp_qloop_41 + tmp_qloop_42);
+                const real_t tmp_qloop_44 = tmp_qloop_29*tmp_qloop_43;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_47 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_48 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_49 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_50 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_51 = tmp_qloop_22*(tmp_qloop_45 + tmp_qloop_46) + tmp_qloop_23*(tmp_qloop_47 + tmp_qloop_48) + tmp_qloop_24*(tmp_qloop_49 + tmp_qloop_50);
+                const real_t tmp_qloop_52 = tmp_qloop_29*tmp_qloop_51;
+                const real_t tmp_qloop_53 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_54 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_55 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_56 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_57 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_58 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_59 = tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58);
+                const real_t tmp_qloop_60 = tmp_qloop_29*tmp_qloop_59;
+                const real_t tmp_qloop_61 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_62 = tmp_qloop_22*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_61 - tmp_qloop_38 - tmp_qloop_46) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_61 - tmp_qloop_40 - tmp_qloop_48) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_61 - tmp_qloop_42 - tmp_qloop_50);
+                const real_t tmp_qloop_63 = tmp_qloop_29*tmp_qloop_62;
+                const real_t tmp_qloop_64 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_65 = -tmp_qloop_1 - tmp_qloop_64 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_66 = tmp_qloop_22*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_65 - tmp_qloop_37 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_65 - tmp_qloop_39 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_65 - tmp_qloop_41 - tmp_qloop_58);
+                const real_t tmp_qloop_67 = tmp_qloop_29*tmp_qloop_66;
+                const real_t tmp_qloop_68 = -tmp_qloop_2 - tmp_qloop_64 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_69 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_53) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_55) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_57);
+                const real_t tmp_qloop_70 = tmp_qloop_29*tmp_qloop_69;
+                const real_t tmp_qloop_71 = tmp_qloop_26*tmp_qloop_28;
+                const real_t tmp_qloop_72 = tmp_qloop_32*tmp_qloop_71;
+                const real_t tmp_qloop_73 = tmp_qloop_35*tmp_qloop_71;
+                const real_t tmp_qloop_74 = tmp_qloop_43*tmp_qloop_71;
+                const real_t tmp_qloop_75 = tmp_qloop_51*tmp_qloop_71;
+                const real_t tmp_qloop_76 = tmp_qloop_59*tmp_qloop_71;
+                const real_t tmp_qloop_77 = tmp_qloop_62*tmp_qloop_71;
+                const real_t tmp_qloop_78 = tmp_qloop_66*tmp_qloop_71;
+                const real_t tmp_qloop_79 = tmp_qloop_69*tmp_qloop_71;
+                const real_t tmp_qloop_80 = tmp_qloop_26*tmp_qloop_32;
+                const real_t tmp_qloop_81 = tmp_qloop_35*tmp_qloop_80;
+                const real_t tmp_qloop_82 = tmp_qloop_43*tmp_qloop_80;
+                const real_t tmp_qloop_83 = tmp_qloop_51*tmp_qloop_80;
+                const real_t tmp_qloop_84 = tmp_qloop_59*tmp_qloop_80;
+                const real_t tmp_qloop_85 = tmp_qloop_62*tmp_qloop_80;
+                const real_t tmp_qloop_86 = tmp_qloop_66*tmp_qloop_80;
+                const real_t tmp_qloop_87 = tmp_qloop_69*tmp_qloop_80;
+                const real_t tmp_qloop_88 = tmp_qloop_26*tmp_qloop_35;
+                const real_t tmp_qloop_89 = tmp_qloop_43*tmp_qloop_88;
+                const real_t tmp_qloop_90 = tmp_qloop_51*tmp_qloop_88;
+                const real_t tmp_qloop_91 = tmp_qloop_59*tmp_qloop_88;
+                const real_t tmp_qloop_92 = tmp_qloop_62*tmp_qloop_88;
+                const real_t tmp_qloop_93 = tmp_qloop_66*tmp_qloop_88;
+                const real_t tmp_qloop_94 = tmp_qloop_69*tmp_qloop_88;
+                const real_t tmp_qloop_95 = tmp_qloop_26*tmp_qloop_43;
+                const real_t tmp_qloop_96 = tmp_qloop_51*tmp_qloop_95;
+                const real_t tmp_qloop_97 = tmp_qloop_59*tmp_qloop_95;
+                const real_t tmp_qloop_98 = tmp_qloop_62*tmp_qloop_95;
+                const real_t tmp_qloop_99 = tmp_qloop_66*tmp_qloop_95;
+                const real_t tmp_qloop_100 = tmp_qloop_69*tmp_qloop_95;
+                const real_t tmp_qloop_101 = tmp_qloop_26*tmp_qloop_51;
+                const real_t tmp_qloop_102 = tmp_qloop_101*tmp_qloop_59;
+                const real_t tmp_qloop_103 = tmp_qloop_101*tmp_qloop_62;
+                const real_t tmp_qloop_104 = tmp_qloop_101*tmp_qloop_66;
+                const real_t tmp_qloop_105 = tmp_qloop_101*tmp_qloop_69;
+                const real_t tmp_qloop_106 = tmp_qloop_26*tmp_qloop_59;
+                const real_t tmp_qloop_107 = tmp_qloop_106*tmp_qloop_62;
+                const real_t tmp_qloop_108 = tmp_qloop_106*tmp_qloop_66;
+                const real_t tmp_qloop_109 = tmp_qloop_106*tmp_qloop_69;
+                const real_t tmp_qloop_110 = tmp_qloop_26*tmp_qloop_62;
+                const real_t tmp_qloop_111 = tmp_qloop_110*tmp_qloop_66;
+                const real_t tmp_qloop_112 = tmp_qloop_110*tmp_qloop_69;
+                const real_t tmp_qloop_113 = tmp_qloop_26*tmp_qloop_66*tmp_qloop_69;
+                const real_t q_tmp_0_0 = (tmp_qloop_25*tmp_qloop_25)*tmp_qloop_26;
+                const real_t q_tmp_0_1 = tmp_qloop_30;
+                const real_t q_tmp_0_2 = tmp_qloop_33;
+                const real_t q_tmp_0_3 = tmp_qloop_36;
+                const real_t q_tmp_0_4 = tmp_qloop_44;
+                const real_t q_tmp_0_5 = tmp_qloop_52;
+                const real_t q_tmp_0_6 = tmp_qloop_60;
+                const real_t q_tmp_0_7 = tmp_qloop_63;
+                const real_t q_tmp_0_8 = tmp_qloop_67;
+                const real_t q_tmp_0_9 = tmp_qloop_70;
+                const real_t q_tmp_1_0 = tmp_qloop_30;
+                const real_t q_tmp_1_1 = tmp_qloop_26*(tmp_qloop_28*tmp_qloop_28);
+                const real_t q_tmp_1_2 = tmp_qloop_72;
+                const real_t q_tmp_1_3 = tmp_qloop_73;
+                const real_t q_tmp_1_4 = tmp_qloop_74;
+                const real_t q_tmp_1_5 = tmp_qloop_75;
+                const real_t q_tmp_1_6 = tmp_qloop_76;
+                const real_t q_tmp_1_7 = tmp_qloop_77;
+                const real_t q_tmp_1_8 = tmp_qloop_78;
+                const real_t q_tmp_1_9 = tmp_qloop_79;
+                const real_t q_tmp_2_0 = tmp_qloop_33;
+                const real_t q_tmp_2_1 = tmp_qloop_72;
+                const real_t q_tmp_2_2 = tmp_qloop_26*(tmp_qloop_32*tmp_qloop_32);
+                const real_t q_tmp_2_3 = tmp_qloop_81;
+                const real_t q_tmp_2_4 = tmp_qloop_82;
+                const real_t q_tmp_2_5 = tmp_qloop_83;
+                const real_t q_tmp_2_6 = tmp_qloop_84;
+                const real_t q_tmp_2_7 = tmp_qloop_85;
+                const real_t q_tmp_2_8 = tmp_qloop_86;
+                const real_t q_tmp_2_9 = tmp_qloop_87;
+                const real_t q_tmp_3_0 = tmp_qloop_36;
+                const real_t q_tmp_3_1 = tmp_qloop_73;
+                const real_t q_tmp_3_2 = tmp_qloop_81;
+                const real_t q_tmp_3_3 = tmp_qloop_26*(tmp_qloop_35*tmp_qloop_35);
+                const real_t q_tmp_3_4 = tmp_qloop_89;
+                const real_t q_tmp_3_5 = tmp_qloop_90;
+                const real_t q_tmp_3_6 = tmp_qloop_91;
+                const real_t q_tmp_3_7 = tmp_qloop_92;
+                const real_t q_tmp_3_8 = tmp_qloop_93;
+                const real_t q_tmp_3_9 = tmp_qloop_94;
+                const real_t q_tmp_4_0 = tmp_qloop_44;
+                const real_t q_tmp_4_1 = tmp_qloop_74;
+                const real_t q_tmp_4_2 = tmp_qloop_82;
+                const real_t q_tmp_4_3 = tmp_qloop_89;
+                const real_t q_tmp_4_4 = tmp_qloop_26*(tmp_qloop_43*tmp_qloop_43);
+                const real_t q_tmp_4_5 = tmp_qloop_96;
+                const real_t q_tmp_4_6 = tmp_qloop_97;
+                const real_t q_tmp_4_7 = tmp_qloop_98;
+                const real_t q_tmp_4_8 = tmp_qloop_99;
+                const real_t q_tmp_4_9 = tmp_qloop_100;
+                const real_t q_tmp_5_0 = tmp_qloop_52;
+                const real_t q_tmp_5_1 = tmp_qloop_75;
+                const real_t q_tmp_5_2 = tmp_qloop_83;
+                const real_t q_tmp_5_3 = tmp_qloop_90;
+                const real_t q_tmp_5_4 = tmp_qloop_96;
+                const real_t q_tmp_5_5 = tmp_qloop_26*(tmp_qloop_51*tmp_qloop_51);
+                const real_t q_tmp_5_6 = tmp_qloop_102;
+                const real_t q_tmp_5_7 = tmp_qloop_103;
+                const real_t q_tmp_5_8 = tmp_qloop_104;
+                const real_t q_tmp_5_9 = tmp_qloop_105;
+                const real_t q_tmp_6_0 = tmp_qloop_60;
+                const real_t q_tmp_6_1 = tmp_qloop_76;
+                const real_t q_tmp_6_2 = tmp_qloop_84;
+                const real_t q_tmp_6_3 = tmp_qloop_91;
+                const real_t q_tmp_6_4 = tmp_qloop_97;
+                const real_t q_tmp_6_5 = tmp_qloop_102;
+                const real_t q_tmp_6_6 = tmp_qloop_26*(tmp_qloop_59*tmp_qloop_59);
+                const real_t q_tmp_6_7 = tmp_qloop_107;
+                const real_t q_tmp_6_8 = tmp_qloop_108;
+                const real_t q_tmp_6_9 = tmp_qloop_109;
+                const real_t q_tmp_7_0 = tmp_qloop_63;
+                const real_t q_tmp_7_1 = tmp_qloop_77;
+                const real_t q_tmp_7_2 = tmp_qloop_85;
+                const real_t q_tmp_7_3 = tmp_qloop_92;
+                const real_t q_tmp_7_4 = tmp_qloop_98;
+                const real_t q_tmp_7_5 = tmp_qloop_103;
+                const real_t q_tmp_7_6 = tmp_qloop_107;
+                const real_t q_tmp_7_7 = tmp_qloop_26*(tmp_qloop_62*tmp_qloop_62);
+                const real_t q_tmp_7_8 = tmp_qloop_111;
+                const real_t q_tmp_7_9 = tmp_qloop_112;
+                const real_t q_tmp_8_0 = tmp_qloop_67;
+                const real_t q_tmp_8_1 = tmp_qloop_78;
+                const real_t q_tmp_8_2 = tmp_qloop_86;
+                const real_t q_tmp_8_3 = tmp_qloop_93;
+                const real_t q_tmp_8_4 = tmp_qloop_99;
+                const real_t q_tmp_8_5 = tmp_qloop_104;
+                const real_t q_tmp_8_6 = tmp_qloop_108;
+                const real_t q_tmp_8_7 = tmp_qloop_111;
+                const real_t q_tmp_8_8 = tmp_qloop_26*(tmp_qloop_66*tmp_qloop_66);
+                const real_t q_tmp_8_9 = tmp_qloop_113;
+                const real_t q_tmp_9_0 = tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_79;
+                const real_t q_tmp_9_2 = tmp_qloop_87;
+                const real_t q_tmp_9_3 = tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_qloop_100;
+                const real_t q_tmp_9_5 = tmp_qloop_105;
+                const real_t q_tmp_9_6 = tmp_qloop_109;
+                const real_t q_tmp_9_7 = tmp_qloop_112;
+                const real_t q_tmp_9_8 = tmp_qloop_113;
+                const real_t q_tmp_9_9 = tmp_qloop_26*(tmp_qloop_69*tmp_qloop_69);
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+             const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+             const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+             const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+             const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+             const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+             _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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))] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_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 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_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 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_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 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN;
+       const real_t tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN);
+       const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN);
+       const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN);
+       const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN);
+       const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN);
+       {
+          /* CellType.WHITE_DOWN */
+          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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_WHITE_DOWN*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_28 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_27;
+                const real_t tmp_qloop_29 = tmp_qloop_25*tmp_qloop_26;
+                const real_t tmp_qloop_30 = tmp_qloop_28*tmp_qloop_29;
+                const real_t tmp_qloop_31 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_31 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_31 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_31;
+                const real_t tmp_qloop_33 = tmp_qloop_29*tmp_qloop_32;
+                const real_t tmp_qloop_34 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_34 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_34 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_34;
+                const real_t tmp_qloop_36 = tmp_qloop_29*tmp_qloop_35;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_38 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_40 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_41 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_42 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_43 = tmp_qloop_22*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_23*(tmp_qloop_39 + tmp_qloop_40) + tmp_qloop_24*(tmp_qloop_41 + tmp_qloop_42);
+                const real_t tmp_qloop_44 = tmp_qloop_29*tmp_qloop_43;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_47 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_48 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_49 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_50 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_51 = tmp_qloop_22*(tmp_qloop_45 + tmp_qloop_46) + tmp_qloop_23*(tmp_qloop_47 + tmp_qloop_48) + tmp_qloop_24*(tmp_qloop_49 + tmp_qloop_50);
+                const real_t tmp_qloop_52 = tmp_qloop_29*tmp_qloop_51;
+                const real_t tmp_qloop_53 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_54 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_55 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_56 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_57 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_58 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_59 = tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58);
+                const real_t tmp_qloop_60 = tmp_qloop_29*tmp_qloop_59;
+                const real_t tmp_qloop_61 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_62 = tmp_qloop_22*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_61 - tmp_qloop_38 - tmp_qloop_46) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_61 - tmp_qloop_40 - tmp_qloop_48) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_61 - tmp_qloop_42 - tmp_qloop_50);
+                const real_t tmp_qloop_63 = tmp_qloop_29*tmp_qloop_62;
+                const real_t tmp_qloop_64 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_65 = -tmp_qloop_1 - tmp_qloop_64 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_66 = tmp_qloop_22*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_65 - tmp_qloop_37 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_65 - tmp_qloop_39 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_65 - tmp_qloop_41 - tmp_qloop_58);
+                const real_t tmp_qloop_67 = tmp_qloop_29*tmp_qloop_66;
+                const real_t tmp_qloop_68 = -tmp_qloop_2 - tmp_qloop_64 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_69 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_53) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_55) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_57);
+                const real_t tmp_qloop_70 = tmp_qloop_29*tmp_qloop_69;
+                const real_t tmp_qloop_71 = tmp_qloop_26*tmp_qloop_28;
+                const real_t tmp_qloop_72 = tmp_qloop_32*tmp_qloop_71;
+                const real_t tmp_qloop_73 = tmp_qloop_35*tmp_qloop_71;
+                const real_t tmp_qloop_74 = tmp_qloop_43*tmp_qloop_71;
+                const real_t tmp_qloop_75 = tmp_qloop_51*tmp_qloop_71;
+                const real_t tmp_qloop_76 = tmp_qloop_59*tmp_qloop_71;
+                const real_t tmp_qloop_77 = tmp_qloop_62*tmp_qloop_71;
+                const real_t tmp_qloop_78 = tmp_qloop_66*tmp_qloop_71;
+                const real_t tmp_qloop_79 = tmp_qloop_69*tmp_qloop_71;
+                const real_t tmp_qloop_80 = tmp_qloop_26*tmp_qloop_32;
+                const real_t tmp_qloop_81 = tmp_qloop_35*tmp_qloop_80;
+                const real_t tmp_qloop_82 = tmp_qloop_43*tmp_qloop_80;
+                const real_t tmp_qloop_83 = tmp_qloop_51*tmp_qloop_80;
+                const real_t tmp_qloop_84 = tmp_qloop_59*tmp_qloop_80;
+                const real_t tmp_qloop_85 = tmp_qloop_62*tmp_qloop_80;
+                const real_t tmp_qloop_86 = tmp_qloop_66*tmp_qloop_80;
+                const real_t tmp_qloop_87 = tmp_qloop_69*tmp_qloop_80;
+                const real_t tmp_qloop_88 = tmp_qloop_26*tmp_qloop_35;
+                const real_t tmp_qloop_89 = tmp_qloop_43*tmp_qloop_88;
+                const real_t tmp_qloop_90 = tmp_qloop_51*tmp_qloop_88;
+                const real_t tmp_qloop_91 = tmp_qloop_59*tmp_qloop_88;
+                const real_t tmp_qloop_92 = tmp_qloop_62*tmp_qloop_88;
+                const real_t tmp_qloop_93 = tmp_qloop_66*tmp_qloop_88;
+                const real_t tmp_qloop_94 = tmp_qloop_69*tmp_qloop_88;
+                const real_t tmp_qloop_95 = tmp_qloop_26*tmp_qloop_43;
+                const real_t tmp_qloop_96 = tmp_qloop_51*tmp_qloop_95;
+                const real_t tmp_qloop_97 = tmp_qloop_59*tmp_qloop_95;
+                const real_t tmp_qloop_98 = tmp_qloop_62*tmp_qloop_95;
+                const real_t tmp_qloop_99 = tmp_qloop_66*tmp_qloop_95;
+                const real_t tmp_qloop_100 = tmp_qloop_69*tmp_qloop_95;
+                const real_t tmp_qloop_101 = tmp_qloop_26*tmp_qloop_51;
+                const real_t tmp_qloop_102 = tmp_qloop_101*tmp_qloop_59;
+                const real_t tmp_qloop_103 = tmp_qloop_101*tmp_qloop_62;
+                const real_t tmp_qloop_104 = tmp_qloop_101*tmp_qloop_66;
+                const real_t tmp_qloop_105 = tmp_qloop_101*tmp_qloop_69;
+                const real_t tmp_qloop_106 = tmp_qloop_26*tmp_qloop_59;
+                const real_t tmp_qloop_107 = tmp_qloop_106*tmp_qloop_62;
+                const real_t tmp_qloop_108 = tmp_qloop_106*tmp_qloop_66;
+                const real_t tmp_qloop_109 = tmp_qloop_106*tmp_qloop_69;
+                const real_t tmp_qloop_110 = tmp_qloop_26*tmp_qloop_62;
+                const real_t tmp_qloop_111 = tmp_qloop_110*tmp_qloop_66;
+                const real_t tmp_qloop_112 = tmp_qloop_110*tmp_qloop_69;
+                const real_t tmp_qloop_113 = tmp_qloop_26*tmp_qloop_66*tmp_qloop_69;
+                const real_t q_tmp_0_0 = (tmp_qloop_25*tmp_qloop_25)*tmp_qloop_26;
+                const real_t q_tmp_0_1 = tmp_qloop_30;
+                const real_t q_tmp_0_2 = tmp_qloop_33;
+                const real_t q_tmp_0_3 = tmp_qloop_36;
+                const real_t q_tmp_0_4 = tmp_qloop_44;
+                const real_t q_tmp_0_5 = tmp_qloop_52;
+                const real_t q_tmp_0_6 = tmp_qloop_60;
+                const real_t q_tmp_0_7 = tmp_qloop_63;
+                const real_t q_tmp_0_8 = tmp_qloop_67;
+                const real_t q_tmp_0_9 = tmp_qloop_70;
+                const real_t q_tmp_1_0 = tmp_qloop_30;
+                const real_t q_tmp_1_1 = tmp_qloop_26*(tmp_qloop_28*tmp_qloop_28);
+                const real_t q_tmp_1_2 = tmp_qloop_72;
+                const real_t q_tmp_1_3 = tmp_qloop_73;
+                const real_t q_tmp_1_4 = tmp_qloop_74;
+                const real_t q_tmp_1_5 = tmp_qloop_75;
+                const real_t q_tmp_1_6 = tmp_qloop_76;
+                const real_t q_tmp_1_7 = tmp_qloop_77;
+                const real_t q_tmp_1_8 = tmp_qloop_78;
+                const real_t q_tmp_1_9 = tmp_qloop_79;
+                const real_t q_tmp_2_0 = tmp_qloop_33;
+                const real_t q_tmp_2_1 = tmp_qloop_72;
+                const real_t q_tmp_2_2 = tmp_qloop_26*(tmp_qloop_32*tmp_qloop_32);
+                const real_t q_tmp_2_3 = tmp_qloop_81;
+                const real_t q_tmp_2_4 = tmp_qloop_82;
+                const real_t q_tmp_2_5 = tmp_qloop_83;
+                const real_t q_tmp_2_6 = tmp_qloop_84;
+                const real_t q_tmp_2_7 = tmp_qloop_85;
+                const real_t q_tmp_2_8 = tmp_qloop_86;
+                const real_t q_tmp_2_9 = tmp_qloop_87;
+                const real_t q_tmp_3_0 = tmp_qloop_36;
+                const real_t q_tmp_3_1 = tmp_qloop_73;
+                const real_t q_tmp_3_2 = tmp_qloop_81;
+                const real_t q_tmp_3_3 = tmp_qloop_26*(tmp_qloop_35*tmp_qloop_35);
+                const real_t q_tmp_3_4 = tmp_qloop_89;
+                const real_t q_tmp_3_5 = tmp_qloop_90;
+                const real_t q_tmp_3_6 = tmp_qloop_91;
+                const real_t q_tmp_3_7 = tmp_qloop_92;
+                const real_t q_tmp_3_8 = tmp_qloop_93;
+                const real_t q_tmp_3_9 = tmp_qloop_94;
+                const real_t q_tmp_4_0 = tmp_qloop_44;
+                const real_t q_tmp_4_1 = tmp_qloop_74;
+                const real_t q_tmp_4_2 = tmp_qloop_82;
+                const real_t q_tmp_4_3 = tmp_qloop_89;
+                const real_t q_tmp_4_4 = tmp_qloop_26*(tmp_qloop_43*tmp_qloop_43);
+                const real_t q_tmp_4_5 = tmp_qloop_96;
+                const real_t q_tmp_4_6 = tmp_qloop_97;
+                const real_t q_tmp_4_7 = tmp_qloop_98;
+                const real_t q_tmp_4_8 = tmp_qloop_99;
+                const real_t q_tmp_4_9 = tmp_qloop_100;
+                const real_t q_tmp_5_0 = tmp_qloop_52;
+                const real_t q_tmp_5_1 = tmp_qloop_75;
+                const real_t q_tmp_5_2 = tmp_qloop_83;
+                const real_t q_tmp_5_3 = tmp_qloop_90;
+                const real_t q_tmp_5_4 = tmp_qloop_96;
+                const real_t q_tmp_5_5 = tmp_qloop_26*(tmp_qloop_51*tmp_qloop_51);
+                const real_t q_tmp_5_6 = tmp_qloop_102;
+                const real_t q_tmp_5_7 = tmp_qloop_103;
+                const real_t q_tmp_5_8 = tmp_qloop_104;
+                const real_t q_tmp_5_9 = tmp_qloop_105;
+                const real_t q_tmp_6_0 = tmp_qloop_60;
+                const real_t q_tmp_6_1 = tmp_qloop_76;
+                const real_t q_tmp_6_2 = tmp_qloop_84;
+                const real_t q_tmp_6_3 = tmp_qloop_91;
+                const real_t q_tmp_6_4 = tmp_qloop_97;
+                const real_t q_tmp_6_5 = tmp_qloop_102;
+                const real_t q_tmp_6_6 = tmp_qloop_26*(tmp_qloop_59*tmp_qloop_59);
+                const real_t q_tmp_6_7 = tmp_qloop_107;
+                const real_t q_tmp_6_8 = tmp_qloop_108;
+                const real_t q_tmp_6_9 = tmp_qloop_109;
+                const real_t q_tmp_7_0 = tmp_qloop_63;
+                const real_t q_tmp_7_1 = tmp_qloop_77;
+                const real_t q_tmp_7_2 = tmp_qloop_85;
+                const real_t q_tmp_7_3 = tmp_qloop_92;
+                const real_t q_tmp_7_4 = tmp_qloop_98;
+                const real_t q_tmp_7_5 = tmp_qloop_103;
+                const real_t q_tmp_7_6 = tmp_qloop_107;
+                const real_t q_tmp_7_7 = tmp_qloop_26*(tmp_qloop_62*tmp_qloop_62);
+                const real_t q_tmp_7_8 = tmp_qloop_111;
+                const real_t q_tmp_7_9 = tmp_qloop_112;
+                const real_t q_tmp_8_0 = tmp_qloop_67;
+                const real_t q_tmp_8_1 = tmp_qloop_78;
+                const real_t q_tmp_8_2 = tmp_qloop_86;
+                const real_t q_tmp_8_3 = tmp_qloop_93;
+                const real_t q_tmp_8_4 = tmp_qloop_99;
+                const real_t q_tmp_8_5 = tmp_qloop_104;
+                const real_t q_tmp_8_6 = tmp_qloop_108;
+                const real_t q_tmp_8_7 = tmp_qloop_111;
+                const real_t q_tmp_8_8 = tmp_qloop_26*(tmp_qloop_66*tmp_qloop_66);
+                const real_t q_tmp_8_9 = tmp_qloop_113;
+                const real_t q_tmp_9_0 = tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_79;
+                const real_t q_tmp_9_2 = tmp_qloop_87;
+                const real_t q_tmp_9_3 = tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_qloop_100;
+                const real_t q_tmp_9_5 = tmp_qloop_105;
+                const real_t q_tmp_9_6 = tmp_qloop_109;
+                const real_t q_tmp_9_7 = tmp_qloop_112;
+                const real_t q_tmp_9_8 = tmp_qloop_113;
+                const real_t q_tmp_9_9 = tmp_qloop_26*(tmp_qloop_69*tmp_qloop_69);
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+             const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+             const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+             const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+             const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+             const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+             _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_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 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_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 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_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 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP;
+       const real_t tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP);
+       const real_t jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP);
+       const real_t jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP);
+       const real_t jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP);
+       const real_t jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP);
+       {
+          /* CellType.BLUE_UP */
+          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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_BLUE_UP*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_28 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_0_1_BLUE_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_0_2_BLUE_UP*tmp_qloop_24*tmp_qloop_27;
+                const real_t tmp_qloop_29 = tmp_qloop_25*tmp_qloop_26;
+                const real_t tmp_qloop_30 = tmp_qloop_28*tmp_qloop_29;
+                const real_t tmp_qloop_31 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_22*tmp_qloop_31 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_23*tmp_qloop_31 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_24*tmp_qloop_31;
+                const real_t tmp_qloop_33 = tmp_qloop_29*tmp_qloop_32;
+                const real_t tmp_qloop_34 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_22*tmp_qloop_34 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_23*tmp_qloop_34 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_24*tmp_qloop_34;
+                const real_t tmp_qloop_36 = tmp_qloop_29*tmp_qloop_35;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_38 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_40 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_41 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_42 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_43 = tmp_qloop_22*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_23*(tmp_qloop_39 + tmp_qloop_40) + tmp_qloop_24*(tmp_qloop_41 + tmp_qloop_42);
+                const real_t tmp_qloop_44 = tmp_qloop_29*tmp_qloop_43;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_47 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_48 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_49 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_50 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_51 = tmp_qloop_22*(tmp_qloop_45 + tmp_qloop_46) + tmp_qloop_23*(tmp_qloop_47 + tmp_qloop_48) + tmp_qloop_24*(tmp_qloop_49 + tmp_qloop_50);
+                const real_t tmp_qloop_52 = tmp_qloop_29*tmp_qloop_51;
+                const real_t tmp_qloop_53 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_54 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_55 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_56 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_57 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_58 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_59 = tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58);
+                const real_t tmp_qloop_60 = tmp_qloop_29*tmp_qloop_59;
+                const real_t tmp_qloop_61 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_62 = tmp_qloop_22*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_61 - tmp_qloop_38 - tmp_qloop_46) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_61 - tmp_qloop_40 - tmp_qloop_48) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_61 - tmp_qloop_42 - tmp_qloop_50);
+                const real_t tmp_qloop_63 = tmp_qloop_29*tmp_qloop_62;
+                const real_t tmp_qloop_64 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_65 = -tmp_qloop_1 - tmp_qloop_64 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_66 = tmp_qloop_22*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_65 - tmp_qloop_37 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_65 - tmp_qloop_39 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_65 - tmp_qloop_41 - tmp_qloop_58);
+                const real_t tmp_qloop_67 = tmp_qloop_29*tmp_qloop_66;
+                const real_t tmp_qloop_68 = -tmp_qloop_2 - tmp_qloop_64 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_69 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_53) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_55) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_57);
+                const real_t tmp_qloop_70 = tmp_qloop_29*tmp_qloop_69;
+                const real_t tmp_qloop_71 = tmp_qloop_26*tmp_qloop_28;
+                const real_t tmp_qloop_72 = tmp_qloop_32*tmp_qloop_71;
+                const real_t tmp_qloop_73 = tmp_qloop_35*tmp_qloop_71;
+                const real_t tmp_qloop_74 = tmp_qloop_43*tmp_qloop_71;
+                const real_t tmp_qloop_75 = tmp_qloop_51*tmp_qloop_71;
+                const real_t tmp_qloop_76 = tmp_qloop_59*tmp_qloop_71;
+                const real_t tmp_qloop_77 = tmp_qloop_62*tmp_qloop_71;
+                const real_t tmp_qloop_78 = tmp_qloop_66*tmp_qloop_71;
+                const real_t tmp_qloop_79 = tmp_qloop_69*tmp_qloop_71;
+                const real_t tmp_qloop_80 = tmp_qloop_26*tmp_qloop_32;
+                const real_t tmp_qloop_81 = tmp_qloop_35*tmp_qloop_80;
+                const real_t tmp_qloop_82 = tmp_qloop_43*tmp_qloop_80;
+                const real_t tmp_qloop_83 = tmp_qloop_51*tmp_qloop_80;
+                const real_t tmp_qloop_84 = tmp_qloop_59*tmp_qloop_80;
+                const real_t tmp_qloop_85 = tmp_qloop_62*tmp_qloop_80;
+                const real_t tmp_qloop_86 = tmp_qloop_66*tmp_qloop_80;
+                const real_t tmp_qloop_87 = tmp_qloop_69*tmp_qloop_80;
+                const real_t tmp_qloop_88 = tmp_qloop_26*tmp_qloop_35;
+                const real_t tmp_qloop_89 = tmp_qloop_43*tmp_qloop_88;
+                const real_t tmp_qloop_90 = tmp_qloop_51*tmp_qloop_88;
+                const real_t tmp_qloop_91 = tmp_qloop_59*tmp_qloop_88;
+                const real_t tmp_qloop_92 = tmp_qloop_62*tmp_qloop_88;
+                const real_t tmp_qloop_93 = tmp_qloop_66*tmp_qloop_88;
+                const real_t tmp_qloop_94 = tmp_qloop_69*tmp_qloop_88;
+                const real_t tmp_qloop_95 = tmp_qloop_26*tmp_qloop_43;
+                const real_t tmp_qloop_96 = tmp_qloop_51*tmp_qloop_95;
+                const real_t tmp_qloop_97 = tmp_qloop_59*tmp_qloop_95;
+                const real_t tmp_qloop_98 = tmp_qloop_62*tmp_qloop_95;
+                const real_t tmp_qloop_99 = tmp_qloop_66*tmp_qloop_95;
+                const real_t tmp_qloop_100 = tmp_qloop_69*tmp_qloop_95;
+                const real_t tmp_qloop_101 = tmp_qloop_26*tmp_qloop_51;
+                const real_t tmp_qloop_102 = tmp_qloop_101*tmp_qloop_59;
+                const real_t tmp_qloop_103 = tmp_qloop_101*tmp_qloop_62;
+                const real_t tmp_qloop_104 = tmp_qloop_101*tmp_qloop_66;
+                const real_t tmp_qloop_105 = tmp_qloop_101*tmp_qloop_69;
+                const real_t tmp_qloop_106 = tmp_qloop_26*tmp_qloop_59;
+                const real_t tmp_qloop_107 = tmp_qloop_106*tmp_qloop_62;
+                const real_t tmp_qloop_108 = tmp_qloop_106*tmp_qloop_66;
+                const real_t tmp_qloop_109 = tmp_qloop_106*tmp_qloop_69;
+                const real_t tmp_qloop_110 = tmp_qloop_26*tmp_qloop_62;
+                const real_t tmp_qloop_111 = tmp_qloop_110*tmp_qloop_66;
+                const real_t tmp_qloop_112 = tmp_qloop_110*tmp_qloop_69;
+                const real_t tmp_qloop_113 = tmp_qloop_26*tmp_qloop_66*tmp_qloop_69;
+                const real_t q_tmp_0_0 = (tmp_qloop_25*tmp_qloop_25)*tmp_qloop_26;
+                const real_t q_tmp_0_1 = tmp_qloop_30;
+                const real_t q_tmp_0_2 = tmp_qloop_33;
+                const real_t q_tmp_0_3 = tmp_qloop_36;
+                const real_t q_tmp_0_4 = tmp_qloop_44;
+                const real_t q_tmp_0_5 = tmp_qloop_52;
+                const real_t q_tmp_0_6 = tmp_qloop_60;
+                const real_t q_tmp_0_7 = tmp_qloop_63;
+                const real_t q_tmp_0_8 = tmp_qloop_67;
+                const real_t q_tmp_0_9 = tmp_qloop_70;
+                const real_t q_tmp_1_0 = tmp_qloop_30;
+                const real_t q_tmp_1_1 = tmp_qloop_26*(tmp_qloop_28*tmp_qloop_28);
+                const real_t q_tmp_1_2 = tmp_qloop_72;
+                const real_t q_tmp_1_3 = tmp_qloop_73;
+                const real_t q_tmp_1_4 = tmp_qloop_74;
+                const real_t q_tmp_1_5 = tmp_qloop_75;
+                const real_t q_tmp_1_6 = tmp_qloop_76;
+                const real_t q_tmp_1_7 = tmp_qloop_77;
+                const real_t q_tmp_1_8 = tmp_qloop_78;
+                const real_t q_tmp_1_9 = tmp_qloop_79;
+                const real_t q_tmp_2_0 = tmp_qloop_33;
+                const real_t q_tmp_2_1 = tmp_qloop_72;
+                const real_t q_tmp_2_2 = tmp_qloop_26*(tmp_qloop_32*tmp_qloop_32);
+                const real_t q_tmp_2_3 = tmp_qloop_81;
+                const real_t q_tmp_2_4 = tmp_qloop_82;
+                const real_t q_tmp_2_5 = tmp_qloop_83;
+                const real_t q_tmp_2_6 = tmp_qloop_84;
+                const real_t q_tmp_2_7 = tmp_qloop_85;
+                const real_t q_tmp_2_8 = tmp_qloop_86;
+                const real_t q_tmp_2_9 = tmp_qloop_87;
+                const real_t q_tmp_3_0 = tmp_qloop_36;
+                const real_t q_tmp_3_1 = tmp_qloop_73;
+                const real_t q_tmp_3_2 = tmp_qloop_81;
+                const real_t q_tmp_3_3 = tmp_qloop_26*(tmp_qloop_35*tmp_qloop_35);
+                const real_t q_tmp_3_4 = tmp_qloop_89;
+                const real_t q_tmp_3_5 = tmp_qloop_90;
+                const real_t q_tmp_3_6 = tmp_qloop_91;
+                const real_t q_tmp_3_7 = tmp_qloop_92;
+                const real_t q_tmp_3_8 = tmp_qloop_93;
+                const real_t q_tmp_3_9 = tmp_qloop_94;
+                const real_t q_tmp_4_0 = tmp_qloop_44;
+                const real_t q_tmp_4_1 = tmp_qloop_74;
+                const real_t q_tmp_4_2 = tmp_qloop_82;
+                const real_t q_tmp_4_3 = tmp_qloop_89;
+                const real_t q_tmp_4_4 = tmp_qloop_26*(tmp_qloop_43*tmp_qloop_43);
+                const real_t q_tmp_4_5 = tmp_qloop_96;
+                const real_t q_tmp_4_6 = tmp_qloop_97;
+                const real_t q_tmp_4_7 = tmp_qloop_98;
+                const real_t q_tmp_4_8 = tmp_qloop_99;
+                const real_t q_tmp_4_9 = tmp_qloop_100;
+                const real_t q_tmp_5_0 = tmp_qloop_52;
+                const real_t q_tmp_5_1 = tmp_qloop_75;
+                const real_t q_tmp_5_2 = tmp_qloop_83;
+                const real_t q_tmp_5_3 = tmp_qloop_90;
+                const real_t q_tmp_5_4 = tmp_qloop_96;
+                const real_t q_tmp_5_5 = tmp_qloop_26*(tmp_qloop_51*tmp_qloop_51);
+                const real_t q_tmp_5_6 = tmp_qloop_102;
+                const real_t q_tmp_5_7 = tmp_qloop_103;
+                const real_t q_tmp_5_8 = tmp_qloop_104;
+                const real_t q_tmp_5_9 = tmp_qloop_105;
+                const real_t q_tmp_6_0 = tmp_qloop_60;
+                const real_t q_tmp_6_1 = tmp_qloop_76;
+                const real_t q_tmp_6_2 = tmp_qloop_84;
+                const real_t q_tmp_6_3 = tmp_qloop_91;
+                const real_t q_tmp_6_4 = tmp_qloop_97;
+                const real_t q_tmp_6_5 = tmp_qloop_102;
+                const real_t q_tmp_6_6 = tmp_qloop_26*(tmp_qloop_59*tmp_qloop_59);
+                const real_t q_tmp_6_7 = tmp_qloop_107;
+                const real_t q_tmp_6_8 = tmp_qloop_108;
+                const real_t q_tmp_6_9 = tmp_qloop_109;
+                const real_t q_tmp_7_0 = tmp_qloop_63;
+                const real_t q_tmp_7_1 = tmp_qloop_77;
+                const real_t q_tmp_7_2 = tmp_qloop_85;
+                const real_t q_tmp_7_3 = tmp_qloop_92;
+                const real_t q_tmp_7_4 = tmp_qloop_98;
+                const real_t q_tmp_7_5 = tmp_qloop_103;
+                const real_t q_tmp_7_6 = tmp_qloop_107;
+                const real_t q_tmp_7_7 = tmp_qloop_26*(tmp_qloop_62*tmp_qloop_62);
+                const real_t q_tmp_7_8 = tmp_qloop_111;
+                const real_t q_tmp_7_9 = tmp_qloop_112;
+                const real_t q_tmp_8_0 = tmp_qloop_67;
+                const real_t q_tmp_8_1 = tmp_qloop_78;
+                const real_t q_tmp_8_2 = tmp_qloop_86;
+                const real_t q_tmp_8_3 = tmp_qloop_93;
+                const real_t q_tmp_8_4 = tmp_qloop_99;
+                const real_t q_tmp_8_5 = tmp_qloop_104;
+                const real_t q_tmp_8_6 = tmp_qloop_108;
+                const real_t q_tmp_8_7 = tmp_qloop_111;
+                const real_t q_tmp_8_8 = tmp_qloop_26*(tmp_qloop_66*tmp_qloop_66);
+                const real_t q_tmp_8_9 = tmp_qloop_113;
+                const real_t q_tmp_9_0 = tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_79;
+                const real_t q_tmp_9_2 = tmp_qloop_87;
+                const real_t q_tmp_9_3 = tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_qloop_100;
+                const real_t q_tmp_9_5 = tmp_qloop_105;
+                const real_t q_tmp_9_6 = tmp_qloop_109;
+                const real_t q_tmp_9_7 = tmp_qloop_112;
+                const real_t q_tmp_9_8 = tmp_qloop_113;
+                const real_t q_tmp_9_9 = tmp_qloop_26*(tmp_qloop_69*tmp_qloop_69);
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+             const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+             const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+             const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+             const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+             const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+             _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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] = elMatVec_7 + _data_dstEdge[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_dstEdge[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] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_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 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN;
+       const real_t tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN);
+       const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN);
+       const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN);
+       const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN);
+       const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN);
+       {
+          /* CellType.BLUE_DOWN */
+          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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_BLUE_DOWN*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_28 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_27;
+                const real_t tmp_qloop_29 = tmp_qloop_25*tmp_qloop_26;
+                const real_t tmp_qloop_30 = tmp_qloop_28*tmp_qloop_29;
+                const real_t tmp_qloop_31 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_31 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_31 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_31;
+                const real_t tmp_qloop_33 = tmp_qloop_29*tmp_qloop_32;
+                const real_t tmp_qloop_34 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_34 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_34 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_34;
+                const real_t tmp_qloop_36 = tmp_qloop_29*tmp_qloop_35;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_38 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_40 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_41 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_42 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_43 = tmp_qloop_22*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_23*(tmp_qloop_39 + tmp_qloop_40) + tmp_qloop_24*(tmp_qloop_41 + tmp_qloop_42);
+                const real_t tmp_qloop_44 = tmp_qloop_29*tmp_qloop_43;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_47 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_48 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_49 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_50 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_51 = tmp_qloop_22*(tmp_qloop_45 + tmp_qloop_46) + tmp_qloop_23*(tmp_qloop_47 + tmp_qloop_48) + tmp_qloop_24*(tmp_qloop_49 + tmp_qloop_50);
+                const real_t tmp_qloop_52 = tmp_qloop_29*tmp_qloop_51;
+                const real_t tmp_qloop_53 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_54 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_55 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_56 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_57 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_58 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_59 = tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58);
+                const real_t tmp_qloop_60 = tmp_qloop_29*tmp_qloop_59;
+                const real_t tmp_qloop_61 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_62 = tmp_qloop_22*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_61 - tmp_qloop_38 - tmp_qloop_46) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_61 - tmp_qloop_40 - tmp_qloop_48) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_61 - tmp_qloop_42 - tmp_qloop_50);
+                const real_t tmp_qloop_63 = tmp_qloop_29*tmp_qloop_62;
+                const real_t tmp_qloop_64 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_65 = -tmp_qloop_1 - tmp_qloop_64 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_66 = tmp_qloop_22*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_65 - tmp_qloop_37 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_65 - tmp_qloop_39 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_65 - tmp_qloop_41 - tmp_qloop_58);
+                const real_t tmp_qloop_67 = tmp_qloop_29*tmp_qloop_66;
+                const real_t tmp_qloop_68 = -tmp_qloop_2 - tmp_qloop_64 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_69 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_53) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_55) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_57);
+                const real_t tmp_qloop_70 = tmp_qloop_29*tmp_qloop_69;
+                const real_t tmp_qloop_71 = tmp_qloop_26*tmp_qloop_28;
+                const real_t tmp_qloop_72 = tmp_qloop_32*tmp_qloop_71;
+                const real_t tmp_qloop_73 = tmp_qloop_35*tmp_qloop_71;
+                const real_t tmp_qloop_74 = tmp_qloop_43*tmp_qloop_71;
+                const real_t tmp_qloop_75 = tmp_qloop_51*tmp_qloop_71;
+                const real_t tmp_qloop_76 = tmp_qloop_59*tmp_qloop_71;
+                const real_t tmp_qloop_77 = tmp_qloop_62*tmp_qloop_71;
+                const real_t tmp_qloop_78 = tmp_qloop_66*tmp_qloop_71;
+                const real_t tmp_qloop_79 = tmp_qloop_69*tmp_qloop_71;
+                const real_t tmp_qloop_80 = tmp_qloop_26*tmp_qloop_32;
+                const real_t tmp_qloop_81 = tmp_qloop_35*tmp_qloop_80;
+                const real_t tmp_qloop_82 = tmp_qloop_43*tmp_qloop_80;
+                const real_t tmp_qloop_83 = tmp_qloop_51*tmp_qloop_80;
+                const real_t tmp_qloop_84 = tmp_qloop_59*tmp_qloop_80;
+                const real_t tmp_qloop_85 = tmp_qloop_62*tmp_qloop_80;
+                const real_t tmp_qloop_86 = tmp_qloop_66*tmp_qloop_80;
+                const real_t tmp_qloop_87 = tmp_qloop_69*tmp_qloop_80;
+                const real_t tmp_qloop_88 = tmp_qloop_26*tmp_qloop_35;
+                const real_t tmp_qloop_89 = tmp_qloop_43*tmp_qloop_88;
+                const real_t tmp_qloop_90 = tmp_qloop_51*tmp_qloop_88;
+                const real_t tmp_qloop_91 = tmp_qloop_59*tmp_qloop_88;
+                const real_t tmp_qloop_92 = tmp_qloop_62*tmp_qloop_88;
+                const real_t tmp_qloop_93 = tmp_qloop_66*tmp_qloop_88;
+                const real_t tmp_qloop_94 = tmp_qloop_69*tmp_qloop_88;
+                const real_t tmp_qloop_95 = tmp_qloop_26*tmp_qloop_43;
+                const real_t tmp_qloop_96 = tmp_qloop_51*tmp_qloop_95;
+                const real_t tmp_qloop_97 = tmp_qloop_59*tmp_qloop_95;
+                const real_t tmp_qloop_98 = tmp_qloop_62*tmp_qloop_95;
+                const real_t tmp_qloop_99 = tmp_qloop_66*tmp_qloop_95;
+                const real_t tmp_qloop_100 = tmp_qloop_69*tmp_qloop_95;
+                const real_t tmp_qloop_101 = tmp_qloop_26*tmp_qloop_51;
+                const real_t tmp_qloop_102 = tmp_qloop_101*tmp_qloop_59;
+                const real_t tmp_qloop_103 = tmp_qloop_101*tmp_qloop_62;
+                const real_t tmp_qloop_104 = tmp_qloop_101*tmp_qloop_66;
+                const real_t tmp_qloop_105 = tmp_qloop_101*tmp_qloop_69;
+                const real_t tmp_qloop_106 = tmp_qloop_26*tmp_qloop_59;
+                const real_t tmp_qloop_107 = tmp_qloop_106*tmp_qloop_62;
+                const real_t tmp_qloop_108 = tmp_qloop_106*tmp_qloop_66;
+                const real_t tmp_qloop_109 = tmp_qloop_106*tmp_qloop_69;
+                const real_t tmp_qloop_110 = tmp_qloop_26*tmp_qloop_62;
+                const real_t tmp_qloop_111 = tmp_qloop_110*tmp_qloop_66;
+                const real_t tmp_qloop_112 = tmp_qloop_110*tmp_qloop_69;
+                const real_t tmp_qloop_113 = tmp_qloop_26*tmp_qloop_66*tmp_qloop_69;
+                const real_t q_tmp_0_0 = (tmp_qloop_25*tmp_qloop_25)*tmp_qloop_26;
+                const real_t q_tmp_0_1 = tmp_qloop_30;
+                const real_t q_tmp_0_2 = tmp_qloop_33;
+                const real_t q_tmp_0_3 = tmp_qloop_36;
+                const real_t q_tmp_0_4 = tmp_qloop_44;
+                const real_t q_tmp_0_5 = tmp_qloop_52;
+                const real_t q_tmp_0_6 = tmp_qloop_60;
+                const real_t q_tmp_0_7 = tmp_qloop_63;
+                const real_t q_tmp_0_8 = tmp_qloop_67;
+                const real_t q_tmp_0_9 = tmp_qloop_70;
+                const real_t q_tmp_1_0 = tmp_qloop_30;
+                const real_t q_tmp_1_1 = tmp_qloop_26*(tmp_qloop_28*tmp_qloop_28);
+                const real_t q_tmp_1_2 = tmp_qloop_72;
+                const real_t q_tmp_1_3 = tmp_qloop_73;
+                const real_t q_tmp_1_4 = tmp_qloop_74;
+                const real_t q_tmp_1_5 = tmp_qloop_75;
+                const real_t q_tmp_1_6 = tmp_qloop_76;
+                const real_t q_tmp_1_7 = tmp_qloop_77;
+                const real_t q_tmp_1_8 = tmp_qloop_78;
+                const real_t q_tmp_1_9 = tmp_qloop_79;
+                const real_t q_tmp_2_0 = tmp_qloop_33;
+                const real_t q_tmp_2_1 = tmp_qloop_72;
+                const real_t q_tmp_2_2 = tmp_qloop_26*(tmp_qloop_32*tmp_qloop_32);
+                const real_t q_tmp_2_3 = tmp_qloop_81;
+                const real_t q_tmp_2_4 = tmp_qloop_82;
+                const real_t q_tmp_2_5 = tmp_qloop_83;
+                const real_t q_tmp_2_6 = tmp_qloop_84;
+                const real_t q_tmp_2_7 = tmp_qloop_85;
+                const real_t q_tmp_2_8 = tmp_qloop_86;
+                const real_t q_tmp_2_9 = tmp_qloop_87;
+                const real_t q_tmp_3_0 = tmp_qloop_36;
+                const real_t q_tmp_3_1 = tmp_qloop_73;
+                const real_t q_tmp_3_2 = tmp_qloop_81;
+                const real_t q_tmp_3_3 = tmp_qloop_26*(tmp_qloop_35*tmp_qloop_35);
+                const real_t q_tmp_3_4 = tmp_qloop_89;
+                const real_t q_tmp_3_5 = tmp_qloop_90;
+                const real_t q_tmp_3_6 = tmp_qloop_91;
+                const real_t q_tmp_3_7 = tmp_qloop_92;
+                const real_t q_tmp_3_8 = tmp_qloop_93;
+                const real_t q_tmp_3_9 = tmp_qloop_94;
+                const real_t q_tmp_4_0 = tmp_qloop_44;
+                const real_t q_tmp_4_1 = tmp_qloop_74;
+                const real_t q_tmp_4_2 = tmp_qloop_82;
+                const real_t q_tmp_4_3 = tmp_qloop_89;
+                const real_t q_tmp_4_4 = tmp_qloop_26*(tmp_qloop_43*tmp_qloop_43);
+                const real_t q_tmp_4_5 = tmp_qloop_96;
+                const real_t q_tmp_4_6 = tmp_qloop_97;
+                const real_t q_tmp_4_7 = tmp_qloop_98;
+                const real_t q_tmp_4_8 = tmp_qloop_99;
+                const real_t q_tmp_4_9 = tmp_qloop_100;
+                const real_t q_tmp_5_0 = tmp_qloop_52;
+                const real_t q_tmp_5_1 = tmp_qloop_75;
+                const real_t q_tmp_5_2 = tmp_qloop_83;
+                const real_t q_tmp_5_3 = tmp_qloop_90;
+                const real_t q_tmp_5_4 = tmp_qloop_96;
+                const real_t q_tmp_5_5 = tmp_qloop_26*(tmp_qloop_51*tmp_qloop_51);
+                const real_t q_tmp_5_6 = tmp_qloop_102;
+                const real_t q_tmp_5_7 = tmp_qloop_103;
+                const real_t q_tmp_5_8 = tmp_qloop_104;
+                const real_t q_tmp_5_9 = tmp_qloop_105;
+                const real_t q_tmp_6_0 = tmp_qloop_60;
+                const real_t q_tmp_6_1 = tmp_qloop_76;
+                const real_t q_tmp_6_2 = tmp_qloop_84;
+                const real_t q_tmp_6_3 = tmp_qloop_91;
+                const real_t q_tmp_6_4 = tmp_qloop_97;
+                const real_t q_tmp_6_5 = tmp_qloop_102;
+                const real_t q_tmp_6_6 = tmp_qloop_26*(tmp_qloop_59*tmp_qloop_59);
+                const real_t q_tmp_6_7 = tmp_qloop_107;
+                const real_t q_tmp_6_8 = tmp_qloop_108;
+                const real_t q_tmp_6_9 = tmp_qloop_109;
+                const real_t q_tmp_7_0 = tmp_qloop_63;
+                const real_t q_tmp_7_1 = tmp_qloop_77;
+                const real_t q_tmp_7_2 = tmp_qloop_85;
+                const real_t q_tmp_7_3 = tmp_qloop_92;
+                const real_t q_tmp_7_4 = tmp_qloop_98;
+                const real_t q_tmp_7_5 = tmp_qloop_103;
+                const real_t q_tmp_7_6 = tmp_qloop_107;
+                const real_t q_tmp_7_7 = tmp_qloop_26*(tmp_qloop_62*tmp_qloop_62);
+                const real_t q_tmp_7_8 = tmp_qloop_111;
+                const real_t q_tmp_7_9 = tmp_qloop_112;
+                const real_t q_tmp_8_0 = tmp_qloop_67;
+                const real_t q_tmp_8_1 = tmp_qloop_78;
+                const real_t q_tmp_8_2 = tmp_qloop_86;
+                const real_t q_tmp_8_3 = tmp_qloop_93;
+                const real_t q_tmp_8_4 = tmp_qloop_99;
+                const real_t q_tmp_8_5 = tmp_qloop_104;
+                const real_t q_tmp_8_6 = tmp_qloop_108;
+                const real_t q_tmp_8_7 = tmp_qloop_111;
+                const real_t q_tmp_8_8 = tmp_qloop_26*(tmp_qloop_66*tmp_qloop_66);
+                const real_t q_tmp_8_9 = tmp_qloop_113;
+                const real_t q_tmp_9_0 = tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_79;
+                const real_t q_tmp_9_2 = tmp_qloop_87;
+                const real_t q_tmp_9_3 = tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_qloop_100;
+                const real_t q_tmp_9_5 = tmp_qloop_105;
+                const real_t q_tmp_9_6 = tmp_qloop_109;
+                const real_t q_tmp_9_7 = tmp_qloop_112;
+                const real_t q_tmp_9_8 = tmp_qloop_113;
+                const real_t q_tmp_9_9 = tmp_qloop_26*(tmp_qloop_69*tmp_qloop_69);
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+             const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+             const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+             const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+             const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+             const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+             _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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))] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_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 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_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 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_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 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP;
+       const real_t tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP);
+       const real_t jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP);
+       const real_t jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP);
+       const real_t jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP);
+       const real_t jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP);
+       {
+          /* CellType.GREEN_UP */
+          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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_GREEN_UP*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_28 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_0_1_GREEN_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_0_2_GREEN_UP*tmp_qloop_24*tmp_qloop_27;
+                const real_t tmp_qloop_29 = tmp_qloop_25*tmp_qloop_26;
+                const real_t tmp_qloop_30 = tmp_qloop_28*tmp_qloop_29;
+                const real_t tmp_qloop_31 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_22*tmp_qloop_31 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_23*tmp_qloop_31 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_24*tmp_qloop_31;
+                const real_t tmp_qloop_33 = tmp_qloop_29*tmp_qloop_32;
+                const real_t tmp_qloop_34 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_22*tmp_qloop_34 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_23*tmp_qloop_34 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_24*tmp_qloop_34;
+                const real_t tmp_qloop_36 = tmp_qloop_29*tmp_qloop_35;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_38 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_40 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_41 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_42 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_43 = tmp_qloop_22*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_23*(tmp_qloop_39 + tmp_qloop_40) + tmp_qloop_24*(tmp_qloop_41 + tmp_qloop_42);
+                const real_t tmp_qloop_44 = tmp_qloop_29*tmp_qloop_43;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_47 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_48 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_49 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_50 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_51 = tmp_qloop_22*(tmp_qloop_45 + tmp_qloop_46) + tmp_qloop_23*(tmp_qloop_47 + tmp_qloop_48) + tmp_qloop_24*(tmp_qloop_49 + tmp_qloop_50);
+                const real_t tmp_qloop_52 = tmp_qloop_29*tmp_qloop_51;
+                const real_t tmp_qloop_53 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_54 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_55 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_56 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_57 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_58 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_59 = tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58);
+                const real_t tmp_qloop_60 = tmp_qloop_29*tmp_qloop_59;
+                const real_t tmp_qloop_61 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_62 = tmp_qloop_22*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_61 - tmp_qloop_38 - tmp_qloop_46) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_61 - tmp_qloop_40 - tmp_qloop_48) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_61 - tmp_qloop_42 - tmp_qloop_50);
+                const real_t tmp_qloop_63 = tmp_qloop_29*tmp_qloop_62;
+                const real_t tmp_qloop_64 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_65 = -tmp_qloop_1 - tmp_qloop_64 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_66 = tmp_qloop_22*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_65 - tmp_qloop_37 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_65 - tmp_qloop_39 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_65 - tmp_qloop_41 - tmp_qloop_58);
+                const real_t tmp_qloop_67 = tmp_qloop_29*tmp_qloop_66;
+                const real_t tmp_qloop_68 = -tmp_qloop_2 - tmp_qloop_64 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_69 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_53) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_55) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_57);
+                const real_t tmp_qloop_70 = tmp_qloop_29*tmp_qloop_69;
+                const real_t tmp_qloop_71 = tmp_qloop_26*tmp_qloop_28;
+                const real_t tmp_qloop_72 = tmp_qloop_32*tmp_qloop_71;
+                const real_t tmp_qloop_73 = tmp_qloop_35*tmp_qloop_71;
+                const real_t tmp_qloop_74 = tmp_qloop_43*tmp_qloop_71;
+                const real_t tmp_qloop_75 = tmp_qloop_51*tmp_qloop_71;
+                const real_t tmp_qloop_76 = tmp_qloop_59*tmp_qloop_71;
+                const real_t tmp_qloop_77 = tmp_qloop_62*tmp_qloop_71;
+                const real_t tmp_qloop_78 = tmp_qloop_66*tmp_qloop_71;
+                const real_t tmp_qloop_79 = tmp_qloop_69*tmp_qloop_71;
+                const real_t tmp_qloop_80 = tmp_qloop_26*tmp_qloop_32;
+                const real_t tmp_qloop_81 = tmp_qloop_35*tmp_qloop_80;
+                const real_t tmp_qloop_82 = tmp_qloop_43*tmp_qloop_80;
+                const real_t tmp_qloop_83 = tmp_qloop_51*tmp_qloop_80;
+                const real_t tmp_qloop_84 = tmp_qloop_59*tmp_qloop_80;
+                const real_t tmp_qloop_85 = tmp_qloop_62*tmp_qloop_80;
+                const real_t tmp_qloop_86 = tmp_qloop_66*tmp_qloop_80;
+                const real_t tmp_qloop_87 = tmp_qloop_69*tmp_qloop_80;
+                const real_t tmp_qloop_88 = tmp_qloop_26*tmp_qloop_35;
+                const real_t tmp_qloop_89 = tmp_qloop_43*tmp_qloop_88;
+                const real_t tmp_qloop_90 = tmp_qloop_51*tmp_qloop_88;
+                const real_t tmp_qloop_91 = tmp_qloop_59*tmp_qloop_88;
+                const real_t tmp_qloop_92 = tmp_qloop_62*tmp_qloop_88;
+                const real_t tmp_qloop_93 = tmp_qloop_66*tmp_qloop_88;
+                const real_t tmp_qloop_94 = tmp_qloop_69*tmp_qloop_88;
+                const real_t tmp_qloop_95 = tmp_qloop_26*tmp_qloop_43;
+                const real_t tmp_qloop_96 = tmp_qloop_51*tmp_qloop_95;
+                const real_t tmp_qloop_97 = tmp_qloop_59*tmp_qloop_95;
+                const real_t tmp_qloop_98 = tmp_qloop_62*tmp_qloop_95;
+                const real_t tmp_qloop_99 = tmp_qloop_66*tmp_qloop_95;
+                const real_t tmp_qloop_100 = tmp_qloop_69*tmp_qloop_95;
+                const real_t tmp_qloop_101 = tmp_qloop_26*tmp_qloop_51;
+                const real_t tmp_qloop_102 = tmp_qloop_101*tmp_qloop_59;
+                const real_t tmp_qloop_103 = tmp_qloop_101*tmp_qloop_62;
+                const real_t tmp_qloop_104 = tmp_qloop_101*tmp_qloop_66;
+                const real_t tmp_qloop_105 = tmp_qloop_101*tmp_qloop_69;
+                const real_t tmp_qloop_106 = tmp_qloop_26*tmp_qloop_59;
+                const real_t tmp_qloop_107 = tmp_qloop_106*tmp_qloop_62;
+                const real_t tmp_qloop_108 = tmp_qloop_106*tmp_qloop_66;
+                const real_t tmp_qloop_109 = tmp_qloop_106*tmp_qloop_69;
+                const real_t tmp_qloop_110 = tmp_qloop_26*tmp_qloop_62;
+                const real_t tmp_qloop_111 = tmp_qloop_110*tmp_qloop_66;
+                const real_t tmp_qloop_112 = tmp_qloop_110*tmp_qloop_69;
+                const real_t tmp_qloop_113 = tmp_qloop_26*tmp_qloop_66*tmp_qloop_69;
+                const real_t q_tmp_0_0 = (tmp_qloop_25*tmp_qloop_25)*tmp_qloop_26;
+                const real_t q_tmp_0_1 = tmp_qloop_30;
+                const real_t q_tmp_0_2 = tmp_qloop_33;
+                const real_t q_tmp_0_3 = tmp_qloop_36;
+                const real_t q_tmp_0_4 = tmp_qloop_44;
+                const real_t q_tmp_0_5 = tmp_qloop_52;
+                const real_t q_tmp_0_6 = tmp_qloop_60;
+                const real_t q_tmp_0_7 = tmp_qloop_63;
+                const real_t q_tmp_0_8 = tmp_qloop_67;
+                const real_t q_tmp_0_9 = tmp_qloop_70;
+                const real_t q_tmp_1_0 = tmp_qloop_30;
+                const real_t q_tmp_1_1 = tmp_qloop_26*(tmp_qloop_28*tmp_qloop_28);
+                const real_t q_tmp_1_2 = tmp_qloop_72;
+                const real_t q_tmp_1_3 = tmp_qloop_73;
+                const real_t q_tmp_1_4 = tmp_qloop_74;
+                const real_t q_tmp_1_5 = tmp_qloop_75;
+                const real_t q_tmp_1_6 = tmp_qloop_76;
+                const real_t q_tmp_1_7 = tmp_qloop_77;
+                const real_t q_tmp_1_8 = tmp_qloop_78;
+                const real_t q_tmp_1_9 = tmp_qloop_79;
+                const real_t q_tmp_2_0 = tmp_qloop_33;
+                const real_t q_tmp_2_1 = tmp_qloop_72;
+                const real_t q_tmp_2_2 = tmp_qloop_26*(tmp_qloop_32*tmp_qloop_32);
+                const real_t q_tmp_2_3 = tmp_qloop_81;
+                const real_t q_tmp_2_4 = tmp_qloop_82;
+                const real_t q_tmp_2_5 = tmp_qloop_83;
+                const real_t q_tmp_2_6 = tmp_qloop_84;
+                const real_t q_tmp_2_7 = tmp_qloop_85;
+                const real_t q_tmp_2_8 = tmp_qloop_86;
+                const real_t q_tmp_2_9 = tmp_qloop_87;
+                const real_t q_tmp_3_0 = tmp_qloop_36;
+                const real_t q_tmp_3_1 = tmp_qloop_73;
+                const real_t q_tmp_3_2 = tmp_qloop_81;
+                const real_t q_tmp_3_3 = tmp_qloop_26*(tmp_qloop_35*tmp_qloop_35);
+                const real_t q_tmp_3_4 = tmp_qloop_89;
+                const real_t q_tmp_3_5 = tmp_qloop_90;
+                const real_t q_tmp_3_6 = tmp_qloop_91;
+                const real_t q_tmp_3_7 = tmp_qloop_92;
+                const real_t q_tmp_3_8 = tmp_qloop_93;
+                const real_t q_tmp_3_9 = tmp_qloop_94;
+                const real_t q_tmp_4_0 = tmp_qloop_44;
+                const real_t q_tmp_4_1 = tmp_qloop_74;
+                const real_t q_tmp_4_2 = tmp_qloop_82;
+                const real_t q_tmp_4_3 = tmp_qloop_89;
+                const real_t q_tmp_4_4 = tmp_qloop_26*(tmp_qloop_43*tmp_qloop_43);
+                const real_t q_tmp_4_5 = tmp_qloop_96;
+                const real_t q_tmp_4_6 = tmp_qloop_97;
+                const real_t q_tmp_4_7 = tmp_qloop_98;
+                const real_t q_tmp_4_8 = tmp_qloop_99;
+                const real_t q_tmp_4_9 = tmp_qloop_100;
+                const real_t q_tmp_5_0 = tmp_qloop_52;
+                const real_t q_tmp_5_1 = tmp_qloop_75;
+                const real_t q_tmp_5_2 = tmp_qloop_83;
+                const real_t q_tmp_5_3 = tmp_qloop_90;
+                const real_t q_tmp_5_4 = tmp_qloop_96;
+                const real_t q_tmp_5_5 = tmp_qloop_26*(tmp_qloop_51*tmp_qloop_51);
+                const real_t q_tmp_5_6 = tmp_qloop_102;
+                const real_t q_tmp_5_7 = tmp_qloop_103;
+                const real_t q_tmp_5_8 = tmp_qloop_104;
+                const real_t q_tmp_5_9 = tmp_qloop_105;
+                const real_t q_tmp_6_0 = tmp_qloop_60;
+                const real_t q_tmp_6_1 = tmp_qloop_76;
+                const real_t q_tmp_6_2 = tmp_qloop_84;
+                const real_t q_tmp_6_3 = tmp_qloop_91;
+                const real_t q_tmp_6_4 = tmp_qloop_97;
+                const real_t q_tmp_6_5 = tmp_qloop_102;
+                const real_t q_tmp_6_6 = tmp_qloop_26*(tmp_qloop_59*tmp_qloop_59);
+                const real_t q_tmp_6_7 = tmp_qloop_107;
+                const real_t q_tmp_6_8 = tmp_qloop_108;
+                const real_t q_tmp_6_9 = tmp_qloop_109;
+                const real_t q_tmp_7_0 = tmp_qloop_63;
+                const real_t q_tmp_7_1 = tmp_qloop_77;
+                const real_t q_tmp_7_2 = tmp_qloop_85;
+                const real_t q_tmp_7_3 = tmp_qloop_92;
+                const real_t q_tmp_7_4 = tmp_qloop_98;
+                const real_t q_tmp_7_5 = tmp_qloop_103;
+                const real_t q_tmp_7_6 = tmp_qloop_107;
+                const real_t q_tmp_7_7 = tmp_qloop_26*(tmp_qloop_62*tmp_qloop_62);
+                const real_t q_tmp_7_8 = tmp_qloop_111;
+                const real_t q_tmp_7_9 = tmp_qloop_112;
+                const real_t q_tmp_8_0 = tmp_qloop_67;
+                const real_t q_tmp_8_1 = tmp_qloop_78;
+                const real_t q_tmp_8_2 = tmp_qloop_86;
+                const real_t q_tmp_8_3 = tmp_qloop_93;
+                const real_t q_tmp_8_4 = tmp_qloop_99;
+                const real_t q_tmp_8_5 = tmp_qloop_104;
+                const real_t q_tmp_8_6 = tmp_qloop_108;
+                const real_t q_tmp_8_7 = tmp_qloop_111;
+                const real_t q_tmp_8_8 = tmp_qloop_26*(tmp_qloop_66*tmp_qloop_66);
+                const real_t q_tmp_8_9 = tmp_qloop_113;
+                const real_t q_tmp_9_0 = tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_79;
+                const real_t q_tmp_9_2 = tmp_qloop_87;
+                const real_t q_tmp_9_3 = tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_qloop_100;
+                const real_t q_tmp_9_5 = tmp_qloop_105;
+                const real_t q_tmp_9_6 = tmp_qloop_109;
+                const real_t q_tmp_9_7 = tmp_qloop_112;
+                const real_t q_tmp_9_8 = tmp_qloop_113;
+                const real_t q_tmp_9_9 = tmp_qloop_26*(tmp_qloop_69*tmp_qloop_69);
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+             const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+             const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+             const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+             const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+             const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+             _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_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 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN;
+       const real_t tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN);
+       const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN);
+       const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN);
+       const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN);
+       const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN);
+       {
+          /* CellType.GREEN_DOWN */
+          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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_GREEN_DOWN*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_28 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_27;
+                const real_t tmp_qloop_29 = tmp_qloop_25*tmp_qloop_26;
+                const real_t tmp_qloop_30 = tmp_qloop_28*tmp_qloop_29;
+                const real_t tmp_qloop_31 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_31 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_31 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_31;
+                const real_t tmp_qloop_33 = tmp_qloop_29*tmp_qloop_32;
+                const real_t tmp_qloop_34 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_34 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_34 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_34;
+                const real_t tmp_qloop_36 = tmp_qloop_29*tmp_qloop_35;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_38 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_40 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_41 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_42 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_43 = tmp_qloop_22*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_23*(tmp_qloop_39 + tmp_qloop_40) + tmp_qloop_24*(tmp_qloop_41 + tmp_qloop_42);
+                const real_t tmp_qloop_44 = tmp_qloop_29*tmp_qloop_43;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_47 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_48 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_49 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_50 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_51 = tmp_qloop_22*(tmp_qloop_45 + tmp_qloop_46) + tmp_qloop_23*(tmp_qloop_47 + tmp_qloop_48) + tmp_qloop_24*(tmp_qloop_49 + tmp_qloop_50);
+                const real_t tmp_qloop_52 = tmp_qloop_29*tmp_qloop_51;
+                const real_t tmp_qloop_53 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_54 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_55 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_56 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_57 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_58 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_59 = tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58);
+                const real_t tmp_qloop_60 = tmp_qloop_29*tmp_qloop_59;
+                const real_t tmp_qloop_61 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_62 = tmp_qloop_22*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_61 - tmp_qloop_38 - tmp_qloop_46) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_61 - tmp_qloop_40 - tmp_qloop_48) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_61 - tmp_qloop_42 - tmp_qloop_50);
+                const real_t tmp_qloop_63 = tmp_qloop_29*tmp_qloop_62;
+                const real_t tmp_qloop_64 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_65 = -tmp_qloop_1 - tmp_qloop_64 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_66 = tmp_qloop_22*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_65 - tmp_qloop_37 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_65 - tmp_qloop_39 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_65 - tmp_qloop_41 - tmp_qloop_58);
+                const real_t tmp_qloop_67 = tmp_qloop_29*tmp_qloop_66;
+                const real_t tmp_qloop_68 = -tmp_qloop_2 - tmp_qloop_64 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_69 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_53) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_55) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_57);
+                const real_t tmp_qloop_70 = tmp_qloop_29*tmp_qloop_69;
+                const real_t tmp_qloop_71 = tmp_qloop_26*tmp_qloop_28;
+                const real_t tmp_qloop_72 = tmp_qloop_32*tmp_qloop_71;
+                const real_t tmp_qloop_73 = tmp_qloop_35*tmp_qloop_71;
+                const real_t tmp_qloop_74 = tmp_qloop_43*tmp_qloop_71;
+                const real_t tmp_qloop_75 = tmp_qloop_51*tmp_qloop_71;
+                const real_t tmp_qloop_76 = tmp_qloop_59*tmp_qloop_71;
+                const real_t tmp_qloop_77 = tmp_qloop_62*tmp_qloop_71;
+                const real_t tmp_qloop_78 = tmp_qloop_66*tmp_qloop_71;
+                const real_t tmp_qloop_79 = tmp_qloop_69*tmp_qloop_71;
+                const real_t tmp_qloop_80 = tmp_qloop_26*tmp_qloop_32;
+                const real_t tmp_qloop_81 = tmp_qloop_35*tmp_qloop_80;
+                const real_t tmp_qloop_82 = tmp_qloop_43*tmp_qloop_80;
+                const real_t tmp_qloop_83 = tmp_qloop_51*tmp_qloop_80;
+                const real_t tmp_qloop_84 = tmp_qloop_59*tmp_qloop_80;
+                const real_t tmp_qloop_85 = tmp_qloop_62*tmp_qloop_80;
+                const real_t tmp_qloop_86 = tmp_qloop_66*tmp_qloop_80;
+                const real_t tmp_qloop_87 = tmp_qloop_69*tmp_qloop_80;
+                const real_t tmp_qloop_88 = tmp_qloop_26*tmp_qloop_35;
+                const real_t tmp_qloop_89 = tmp_qloop_43*tmp_qloop_88;
+                const real_t tmp_qloop_90 = tmp_qloop_51*tmp_qloop_88;
+                const real_t tmp_qloop_91 = tmp_qloop_59*tmp_qloop_88;
+                const real_t tmp_qloop_92 = tmp_qloop_62*tmp_qloop_88;
+                const real_t tmp_qloop_93 = tmp_qloop_66*tmp_qloop_88;
+                const real_t tmp_qloop_94 = tmp_qloop_69*tmp_qloop_88;
+                const real_t tmp_qloop_95 = tmp_qloop_26*tmp_qloop_43;
+                const real_t tmp_qloop_96 = tmp_qloop_51*tmp_qloop_95;
+                const real_t tmp_qloop_97 = tmp_qloop_59*tmp_qloop_95;
+                const real_t tmp_qloop_98 = tmp_qloop_62*tmp_qloop_95;
+                const real_t tmp_qloop_99 = tmp_qloop_66*tmp_qloop_95;
+                const real_t tmp_qloop_100 = tmp_qloop_69*tmp_qloop_95;
+                const real_t tmp_qloop_101 = tmp_qloop_26*tmp_qloop_51;
+                const real_t tmp_qloop_102 = tmp_qloop_101*tmp_qloop_59;
+                const real_t tmp_qloop_103 = tmp_qloop_101*tmp_qloop_62;
+                const real_t tmp_qloop_104 = tmp_qloop_101*tmp_qloop_66;
+                const real_t tmp_qloop_105 = tmp_qloop_101*tmp_qloop_69;
+                const real_t tmp_qloop_106 = tmp_qloop_26*tmp_qloop_59;
+                const real_t tmp_qloop_107 = tmp_qloop_106*tmp_qloop_62;
+                const real_t tmp_qloop_108 = tmp_qloop_106*tmp_qloop_66;
+                const real_t tmp_qloop_109 = tmp_qloop_106*tmp_qloop_69;
+                const real_t tmp_qloop_110 = tmp_qloop_26*tmp_qloop_62;
+                const real_t tmp_qloop_111 = tmp_qloop_110*tmp_qloop_66;
+                const real_t tmp_qloop_112 = tmp_qloop_110*tmp_qloop_69;
+                const real_t tmp_qloop_113 = tmp_qloop_26*tmp_qloop_66*tmp_qloop_69;
+                const real_t q_tmp_0_0 = (tmp_qloop_25*tmp_qloop_25)*tmp_qloop_26;
+                const real_t q_tmp_0_1 = tmp_qloop_30;
+                const real_t q_tmp_0_2 = tmp_qloop_33;
+                const real_t q_tmp_0_3 = tmp_qloop_36;
+                const real_t q_tmp_0_4 = tmp_qloop_44;
+                const real_t q_tmp_0_5 = tmp_qloop_52;
+                const real_t q_tmp_0_6 = tmp_qloop_60;
+                const real_t q_tmp_0_7 = tmp_qloop_63;
+                const real_t q_tmp_0_8 = tmp_qloop_67;
+                const real_t q_tmp_0_9 = tmp_qloop_70;
+                const real_t q_tmp_1_0 = tmp_qloop_30;
+                const real_t q_tmp_1_1 = tmp_qloop_26*(tmp_qloop_28*tmp_qloop_28);
+                const real_t q_tmp_1_2 = tmp_qloop_72;
+                const real_t q_tmp_1_3 = tmp_qloop_73;
+                const real_t q_tmp_1_4 = tmp_qloop_74;
+                const real_t q_tmp_1_5 = tmp_qloop_75;
+                const real_t q_tmp_1_6 = tmp_qloop_76;
+                const real_t q_tmp_1_7 = tmp_qloop_77;
+                const real_t q_tmp_1_8 = tmp_qloop_78;
+                const real_t q_tmp_1_9 = tmp_qloop_79;
+                const real_t q_tmp_2_0 = tmp_qloop_33;
+                const real_t q_tmp_2_1 = tmp_qloop_72;
+                const real_t q_tmp_2_2 = tmp_qloop_26*(tmp_qloop_32*tmp_qloop_32);
+                const real_t q_tmp_2_3 = tmp_qloop_81;
+                const real_t q_tmp_2_4 = tmp_qloop_82;
+                const real_t q_tmp_2_5 = tmp_qloop_83;
+                const real_t q_tmp_2_6 = tmp_qloop_84;
+                const real_t q_tmp_2_7 = tmp_qloop_85;
+                const real_t q_tmp_2_8 = tmp_qloop_86;
+                const real_t q_tmp_2_9 = tmp_qloop_87;
+                const real_t q_tmp_3_0 = tmp_qloop_36;
+                const real_t q_tmp_3_1 = tmp_qloop_73;
+                const real_t q_tmp_3_2 = tmp_qloop_81;
+                const real_t q_tmp_3_3 = tmp_qloop_26*(tmp_qloop_35*tmp_qloop_35);
+                const real_t q_tmp_3_4 = tmp_qloop_89;
+                const real_t q_tmp_3_5 = tmp_qloop_90;
+                const real_t q_tmp_3_6 = tmp_qloop_91;
+                const real_t q_tmp_3_7 = tmp_qloop_92;
+                const real_t q_tmp_3_8 = tmp_qloop_93;
+                const real_t q_tmp_3_9 = tmp_qloop_94;
+                const real_t q_tmp_4_0 = tmp_qloop_44;
+                const real_t q_tmp_4_1 = tmp_qloop_74;
+                const real_t q_tmp_4_2 = tmp_qloop_82;
+                const real_t q_tmp_4_3 = tmp_qloop_89;
+                const real_t q_tmp_4_4 = tmp_qloop_26*(tmp_qloop_43*tmp_qloop_43);
+                const real_t q_tmp_4_5 = tmp_qloop_96;
+                const real_t q_tmp_4_6 = tmp_qloop_97;
+                const real_t q_tmp_4_7 = tmp_qloop_98;
+                const real_t q_tmp_4_8 = tmp_qloop_99;
+                const real_t q_tmp_4_9 = tmp_qloop_100;
+                const real_t q_tmp_5_0 = tmp_qloop_52;
+                const real_t q_tmp_5_1 = tmp_qloop_75;
+                const real_t q_tmp_5_2 = tmp_qloop_83;
+                const real_t q_tmp_5_3 = tmp_qloop_90;
+                const real_t q_tmp_5_4 = tmp_qloop_96;
+                const real_t q_tmp_5_5 = tmp_qloop_26*(tmp_qloop_51*tmp_qloop_51);
+                const real_t q_tmp_5_6 = tmp_qloop_102;
+                const real_t q_tmp_5_7 = tmp_qloop_103;
+                const real_t q_tmp_5_8 = tmp_qloop_104;
+                const real_t q_tmp_5_9 = tmp_qloop_105;
+                const real_t q_tmp_6_0 = tmp_qloop_60;
+                const real_t q_tmp_6_1 = tmp_qloop_76;
+                const real_t q_tmp_6_2 = tmp_qloop_84;
+                const real_t q_tmp_6_3 = tmp_qloop_91;
+                const real_t q_tmp_6_4 = tmp_qloop_97;
+                const real_t q_tmp_6_5 = tmp_qloop_102;
+                const real_t q_tmp_6_6 = tmp_qloop_26*(tmp_qloop_59*tmp_qloop_59);
+                const real_t q_tmp_6_7 = tmp_qloop_107;
+                const real_t q_tmp_6_8 = tmp_qloop_108;
+                const real_t q_tmp_6_9 = tmp_qloop_109;
+                const real_t q_tmp_7_0 = tmp_qloop_63;
+                const real_t q_tmp_7_1 = tmp_qloop_77;
+                const real_t q_tmp_7_2 = tmp_qloop_85;
+                const real_t q_tmp_7_3 = tmp_qloop_92;
+                const real_t q_tmp_7_4 = tmp_qloop_98;
+                const real_t q_tmp_7_5 = tmp_qloop_103;
+                const real_t q_tmp_7_6 = tmp_qloop_107;
+                const real_t q_tmp_7_7 = tmp_qloop_26*(tmp_qloop_62*tmp_qloop_62);
+                const real_t q_tmp_7_8 = tmp_qloop_111;
+                const real_t q_tmp_7_9 = tmp_qloop_112;
+                const real_t q_tmp_8_0 = tmp_qloop_67;
+                const real_t q_tmp_8_1 = tmp_qloop_78;
+                const real_t q_tmp_8_2 = tmp_qloop_86;
+                const real_t q_tmp_8_3 = tmp_qloop_93;
+                const real_t q_tmp_8_4 = tmp_qloop_99;
+                const real_t q_tmp_8_5 = tmp_qloop_104;
+                const real_t q_tmp_8_6 = tmp_qloop_108;
+                const real_t q_tmp_8_7 = tmp_qloop_111;
+                const real_t q_tmp_8_8 = tmp_qloop_26*(tmp_qloop_66*tmp_qloop_66);
+                const real_t q_tmp_8_9 = tmp_qloop_113;
+                const real_t q_tmp_9_0 = tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_79;
+                const real_t q_tmp_9_2 = tmp_qloop_87;
+                const real_t q_tmp_9_3 = tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_qloop_100;
+                const real_t q_tmp_9_5 = tmp_qloop_105;
+                const real_t q_tmp_9_6 = tmp_qloop_109;
+                const real_t q_tmp_9_7 = tmp_qloop_112;
+                const real_t q_tmp_9_8 = tmp_qloop_113;
+                const real_t q_tmp_9_9 = tmp_qloop_26*(tmp_qloop_69*tmp_qloop_69);
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+             const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+             const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+             const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+             const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+             const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+             _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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] = elMatVec_6 + _data_dstEdge[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_dstEdge[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))] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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))];
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/supg_advection/noarch/P2ElementwiseSupgAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseSupgAdvection_macro_3D.cpp b/operators/supg_advection/noarch/P2ElementwiseSupgAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseSupgAdvection_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..80884e1e77fad864250661e64824d10ef87d0ccf
--- /dev/null
+++ b/operators/supg_advection/noarch/P2ElementwiseSupgAdvection_computeInverseDiagonalOperatorValues_P2ElementwiseSupgAdvection_macro_3D.cpp
@@ -0,0 +1,1446 @@
+/*
+* 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 Operator Generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ElementwiseSupgAdvection.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ElementwiseSupgAdvection::computeInverseDiagonalOperatorValues_P2ElementwiseSupgAdvection_macro_3D( real_t * RESTRICT  _data_cp_times_deltaEdge, real_t * RESTRICT  _data_cp_times_deltaVertex, real_t * RESTRICT  _data_invDiag_Edge, real_t * RESTRICT  _data_invDiag_Vertex, real_t * RESTRICT  _data_uxEdge, real_t * RESTRICT  _data_uxVertex, real_t * RESTRICT  _data_uyEdge, real_t * RESTRICT  _data_uyVertex, real_t * RESTRICT  _data_uzEdge, real_t * RESTRICT  _data_uzVertex, 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 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_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 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_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 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_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 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP;
+       const real_t tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP);
+       const real_t jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP);
+       const real_t jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP);
+       const real_t jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP);
+       const real_t jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP);
+       {
+          /* CellType.WHITE_UP */
+          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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = abs_det_jac_affine_WHITE_UP*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_26 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_27 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_28 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_30 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_31 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_34 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_36 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_38 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_40 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_41 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_43 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_45 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_47 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_48 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_49 = -tmp_qloop_1 - tmp_qloop_48 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_50 = -tmp_qloop_2 - tmp_qloop_48 - 8.0*_data_q_p_0[q];
+                const real_t q_tmp_0_0 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_4))*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_4)));
+                const real_t q_tmp_1_1 = tmp_qloop_25*((jac_affine_inv_0_0_WHITE_UP*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_24*tmp_qloop_26)*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_24*tmp_qloop_26));
+                const real_t q_tmp_2_2 = tmp_qloop_25*((jac_affine_inv_1_0_WHITE_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_24*tmp_qloop_27)*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_24*tmp_qloop_27));
+                const real_t q_tmp_3_3 = tmp_qloop_25*((jac_affine_inv_2_0_WHITE_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_24*tmp_qloop_28)*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_24*tmp_qloop_28));
+                const real_t q_tmp_4_4 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34))*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34)));
+                const real_t q_tmp_5_5 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40))*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40)));
+                const real_t q_tmp_6_6 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46))*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46)));
+                const real_t q_tmp_7_7 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40))*(tmp_qloop_22*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40)));
+                const real_t q_tmp_8_8 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46))*(tmp_qloop_22*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46)));
+                const real_t q_tmp_9_9 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45))*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45)));
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+             }
+             const real_t elMatDiag_0 = q_acc_0_0;
+             const real_t elMatDiag_1 = q_acc_1_1;
+             const real_t elMatDiag_2 = q_acc_2_2;
+             const real_t elMatDiag_3 = q_acc_3_3;
+             const real_t elMatDiag_4 = q_acc_4_4;
+             const real_t elMatDiag_5 = q_acc_5_5;
+             const real_t elMatDiag_6 = q_acc_6_6;
+             const real_t elMatDiag_7 = q_acc_7_7;
+             const real_t elMatDiag_8 = q_acc_8_8;
+             const real_t elMatDiag_9 = q_acc_9_9;
+             _data_invDiag_Vertex[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))] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_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 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_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 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_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 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN;
+       const real_t tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN);
+       const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN);
+       const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN);
+       const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN);
+       const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN);
+       {
+          /* CellType.WHITE_DOWN */
+          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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = abs_det_jac_affine_WHITE_DOWN*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_26 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_27 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_28 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_30 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_31 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_34 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_36 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_38 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_40 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_41 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_43 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_45 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_47 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_48 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_49 = -tmp_qloop_1 - tmp_qloop_48 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_50 = -tmp_qloop_2 - tmp_qloop_48 - 8.0*_data_q_p_0[q];
+                const real_t q_tmp_0_0 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_4))*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_4)));
+                const real_t q_tmp_1_1 = tmp_qloop_25*((jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_26)*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_26));
+                const real_t q_tmp_2_2 = tmp_qloop_25*((jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_27)*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_27));
+                const real_t q_tmp_3_3 = tmp_qloop_25*((jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_28)*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_28));
+                const real_t q_tmp_4_4 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34))*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34)));
+                const real_t q_tmp_5_5 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40))*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40)));
+                const real_t q_tmp_6_6 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46))*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46)));
+                const real_t q_tmp_7_7 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40))*(tmp_qloop_22*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40)));
+                const real_t q_tmp_8_8 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46))*(tmp_qloop_22*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46)));
+                const real_t q_tmp_9_9 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45))*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45)));
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+             }
+             const real_t elMatDiag_0 = q_acc_0_0;
+             const real_t elMatDiag_1 = q_acc_1_1;
+             const real_t elMatDiag_2 = q_acc_2_2;
+             const real_t elMatDiag_3 = q_acc_3_3;
+             const real_t elMatDiag_4 = q_acc_4_4;
+             const real_t elMatDiag_5 = q_acc_5_5;
+             const real_t elMatDiag_6 = q_acc_6_6;
+             const real_t elMatDiag_7 = q_acc_7_7;
+             const real_t elMatDiag_8 = q_acc_8_8;
+             const real_t elMatDiag_9 = q_acc_9_9;
+             _data_invDiag_Vertex[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] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_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 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_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 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_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 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP;
+       const real_t tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP);
+       const real_t jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP);
+       const real_t jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP);
+       const real_t jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP);
+       const real_t jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP);
+       {
+          /* CellType.BLUE_UP */
+          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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = abs_det_jac_affine_BLUE_UP*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_26 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_27 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_28 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_30 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_31 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_34 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_36 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_38 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_40 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_41 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_43 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_45 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_47 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_48 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_49 = -tmp_qloop_1 - tmp_qloop_48 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_50 = -tmp_qloop_2 - tmp_qloop_48 - 8.0*_data_q_p_0[q];
+                const real_t q_tmp_0_0 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_4))*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_4)));
+                const real_t q_tmp_1_1 = tmp_qloop_25*((jac_affine_inv_0_0_BLUE_UP*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_BLUE_UP*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_BLUE_UP*tmp_qloop_24*tmp_qloop_26)*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_BLUE_UP*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_BLUE_UP*tmp_qloop_24*tmp_qloop_26));
+                const real_t q_tmp_2_2 = tmp_qloop_25*((jac_affine_inv_1_0_BLUE_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_24*tmp_qloop_27)*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_24*tmp_qloop_27));
+                const real_t q_tmp_3_3 = tmp_qloop_25*((jac_affine_inv_2_0_BLUE_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_24*tmp_qloop_28)*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_24*tmp_qloop_28));
+                const real_t q_tmp_4_4 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34))*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34)));
+                const real_t q_tmp_5_5 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40))*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40)));
+                const real_t q_tmp_6_6 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46))*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46)));
+                const real_t q_tmp_7_7 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40))*(tmp_qloop_22*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40)));
+                const real_t q_tmp_8_8 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46))*(tmp_qloop_22*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46)));
+                const real_t q_tmp_9_9 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45))*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45)));
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+             }
+             const real_t elMatDiag_0 = q_acc_0_0;
+             const real_t elMatDiag_1 = q_acc_1_1;
+             const real_t elMatDiag_2 = q_acc_2_2;
+             const real_t elMatDiag_3 = q_acc_3_3;
+             const real_t elMatDiag_4 = q_acc_4_4;
+             const real_t elMatDiag_5 = q_acc_5_5;
+             const real_t elMatDiag_6 = q_acc_6_6;
+             const real_t elMatDiag_7 = q_acc_7_7;
+             const real_t elMatDiag_8 = q_acc_8_8;
+             const real_t elMatDiag_9 = q_acc_9_9;
+             _data_invDiag_Vertex[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] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_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 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN;
+       const real_t tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN);
+       const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN);
+       const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN);
+       const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN);
+       const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN);
+       {
+          /* CellType.BLUE_DOWN */
+          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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = abs_det_jac_affine_BLUE_DOWN*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_26 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_27 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_28 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_30 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_31 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_34 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_36 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_38 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_40 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_41 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_43 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_45 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_47 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_48 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_49 = -tmp_qloop_1 - tmp_qloop_48 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_50 = -tmp_qloop_2 - tmp_qloop_48 - 8.0*_data_q_p_0[q];
+                const real_t q_tmp_0_0 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_4))*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_4)));
+                const real_t q_tmp_1_1 = tmp_qloop_25*((jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_26)*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_26));
+                const real_t q_tmp_2_2 = tmp_qloop_25*((jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_27)*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_27));
+                const real_t q_tmp_3_3 = tmp_qloop_25*((jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_28)*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_28));
+                const real_t q_tmp_4_4 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34))*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34)));
+                const real_t q_tmp_5_5 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40))*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40)));
+                const real_t q_tmp_6_6 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46))*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46)));
+                const real_t q_tmp_7_7 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40))*(tmp_qloop_22*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40)));
+                const real_t q_tmp_8_8 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46))*(tmp_qloop_22*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46)));
+                const real_t q_tmp_9_9 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45))*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45)));
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+             }
+             const real_t elMatDiag_0 = q_acc_0_0;
+             const real_t elMatDiag_1 = q_acc_1_1;
+             const real_t elMatDiag_2 = q_acc_2_2;
+             const real_t elMatDiag_3 = q_acc_3_3;
+             const real_t elMatDiag_4 = q_acc_4_4;
+             const real_t elMatDiag_5 = q_acc_5_5;
+             const real_t elMatDiag_6 = q_acc_6_6;
+             const real_t elMatDiag_7 = q_acc_7_7;
+             const real_t elMatDiag_8 = q_acc_8_8;
+             const real_t elMatDiag_9 = q_acc_9_9;
+             _data_invDiag_Vertex[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))] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_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 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_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 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_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 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP;
+       const real_t tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP);
+       const real_t jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP);
+       const real_t jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP);
+       const real_t jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP);
+       const real_t jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP);
+       {
+          /* CellType.GREEN_UP */
+          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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = abs_det_jac_affine_GREEN_UP*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_26 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_27 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_28 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_30 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_31 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_34 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_36 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_38 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_40 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_41 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_43 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_45 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_47 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_48 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_49 = -tmp_qloop_1 - tmp_qloop_48 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_50 = -tmp_qloop_2 - tmp_qloop_48 - 8.0*_data_q_p_0[q];
+                const real_t q_tmp_0_0 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_4))*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_4)));
+                const real_t q_tmp_1_1 = tmp_qloop_25*((jac_affine_inv_0_0_GREEN_UP*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_GREEN_UP*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_GREEN_UP*tmp_qloop_24*tmp_qloop_26)*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_GREEN_UP*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_GREEN_UP*tmp_qloop_24*tmp_qloop_26));
+                const real_t q_tmp_2_2 = tmp_qloop_25*((jac_affine_inv_1_0_GREEN_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_24*tmp_qloop_27)*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_24*tmp_qloop_27));
+                const real_t q_tmp_3_3 = tmp_qloop_25*((jac_affine_inv_2_0_GREEN_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_24*tmp_qloop_28)*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_24*tmp_qloop_28));
+                const real_t q_tmp_4_4 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34))*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34)));
+                const real_t q_tmp_5_5 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40))*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40)));
+                const real_t q_tmp_6_6 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46))*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46)));
+                const real_t q_tmp_7_7 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40))*(tmp_qloop_22*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40)));
+                const real_t q_tmp_8_8 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46))*(tmp_qloop_22*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46)));
+                const real_t q_tmp_9_9 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45))*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45)));
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+             }
+             const real_t elMatDiag_0 = q_acc_0_0;
+             const real_t elMatDiag_1 = q_acc_1_1;
+             const real_t elMatDiag_2 = q_acc_2_2;
+             const real_t elMatDiag_3 = q_acc_3_3;
+             const real_t elMatDiag_4 = q_acc_4_4;
+             const real_t elMatDiag_5 = q_acc_5_5;
+             const real_t elMatDiag_6 = q_acc_6_6;
+             const real_t elMatDiag_7 = q_acc_7_7;
+             const real_t elMatDiag_8 = q_acc_8_8;
+             const real_t elMatDiag_9 = q_acc_9_9;
+             _data_invDiag_Vertex[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] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_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 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN;
+       const real_t tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN);
+       const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN);
+       const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN);
+       const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN);
+       const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN);
+       {
+          /* CellType.GREEN_DOWN */
+          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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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_1_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = abs_det_jac_affine_GREEN_DOWN*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_26 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_27 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_28 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_29 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_30 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_31 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_33 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_34 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_36 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_38 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_40 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_41 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_42 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_43 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_44 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_45 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_47 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_48 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_49 = -tmp_qloop_1 - tmp_qloop_48 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_50 = -tmp_qloop_2 - tmp_qloop_48 - 8.0*_data_q_p_0[q];
+                const real_t q_tmp_0_0 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_4))*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_4)));
+                const real_t q_tmp_1_1 = tmp_qloop_25*((jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_26)*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_26 + jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_26 + jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_26));
+                const real_t q_tmp_2_2 = tmp_qloop_25*((jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_27)*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_27));
+                const real_t q_tmp_3_3 = tmp_qloop_25*((jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_28)*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_28 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_28 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_28));
+                const real_t q_tmp_4_4 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34))*(tmp_qloop_22*(tmp_qloop_29 + tmp_qloop_30) + tmp_qloop_23*(tmp_qloop_31 + tmp_qloop_32) + tmp_qloop_24*(tmp_qloop_33 + tmp_qloop_34)));
+                const real_t q_tmp_5_5 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40))*(tmp_qloop_22*(tmp_qloop_35 + tmp_qloop_36) + tmp_qloop_23*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_24*(tmp_qloop_39 + tmp_qloop_40)));
+                const real_t q_tmp_6_6 = tmp_qloop_25*((tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46))*(tmp_qloop_22*(tmp_qloop_41 + tmp_qloop_42) + tmp_qloop_23*(tmp_qloop_43 + tmp_qloop_44) + tmp_qloop_24*(tmp_qloop_45 + tmp_qloop_46)));
+                const real_t q_tmp_7_7 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40))*(tmp_qloop_22*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_47 - tmp_qloop_30 - tmp_qloop_36) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_47 - tmp_qloop_32 - tmp_qloop_38) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_47 - tmp_qloop_34 - tmp_qloop_40)));
+                const real_t q_tmp_8_8 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46))*(tmp_qloop_22*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_49 - tmp_qloop_29 - tmp_qloop_42) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_49 - tmp_qloop_31 - tmp_qloop_44) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_49 - tmp_qloop_33 - tmp_qloop_46)));
+                const real_t q_tmp_9_9 = tmp_qloop_25*((tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45))*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_50 - tmp_qloop_35 - tmp_qloop_41) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_50 - tmp_qloop_37 - tmp_qloop_43) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_50 - tmp_qloop_39 - tmp_qloop_45)));
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+             }
+             const real_t elMatDiag_0 = q_acc_0_0;
+             const real_t elMatDiag_1 = q_acc_1_1;
+             const real_t elMatDiag_2 = q_acc_2_2;
+             const real_t elMatDiag_3 = q_acc_3_3;
+             const real_t elMatDiag_4 = q_acc_4_4;
+             const real_t elMatDiag_5 = q_acc_5_5;
+             const real_t elMatDiag_6 = q_acc_6_6;
+             const real_t elMatDiag_7 = q_acc_7_7;
+             const real_t elMatDiag_8 = q_acc_8_8;
+             const real_t elMatDiag_9 = q_acc_9_9;
+             _data_invDiag_Vertex[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))] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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))];
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/supg_advection/noarch/P2ElementwiseSupgAdvection_toMatrix_P2ElementwiseSupgAdvection_macro_3D.cpp b/operators/supg_advection/noarch/P2ElementwiseSupgAdvection_toMatrix_P2ElementwiseSupgAdvection_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..49598201bdd2308cfa4d0af9e06848e89b8e1bf4
--- /dev/null
+++ b/operators/supg_advection/noarch/P2ElementwiseSupgAdvection_toMatrix_P2ElementwiseSupgAdvection_macro_3D.cpp
@@ -0,0 +1,4722 @@
+/*
+* 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 Operator Generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ElementwiseSupgAdvection.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ElementwiseSupgAdvection::toMatrix_P2ElementwiseSupgAdvection_macro_3D( real_t * RESTRICT  _data_cp_times_deltaEdge, real_t * RESTRICT  _data_cp_times_deltaVertex, idx_t * RESTRICT  _data_dstEdge, idx_t * RESTRICT  _data_dstVertex, idx_t * RESTRICT  _data_srcEdge, idx_t * RESTRICT  _data_srcVertex, real_t * RESTRICT  _data_uxEdge, real_t * RESTRICT  _data_uxVertex, real_t * RESTRICT  _data_uyEdge, real_t * RESTRICT  _data_uyVertex, real_t * RESTRICT  _data_uzEdge, real_t * RESTRICT  _data_uzVertex, 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 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_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 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_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 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_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 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP;
+       const real_t tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP);
+       const real_t jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP);
+       const real_t jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP);
+       const real_t jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP);
+       const real_t jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP);
+       {
+          /* CellType.WHITE_UP */
+          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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_WHITE_UP*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_28 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_24*tmp_qloop_27;
+                const real_t tmp_qloop_29 = tmp_qloop_25*tmp_qloop_26;
+                const real_t tmp_qloop_30 = tmp_qloop_28*tmp_qloop_29;
+                const real_t tmp_qloop_31 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_22*tmp_qloop_31 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_23*tmp_qloop_31 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_24*tmp_qloop_31;
+                const real_t tmp_qloop_33 = tmp_qloop_29*tmp_qloop_32;
+                const real_t tmp_qloop_34 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_22*tmp_qloop_34 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_23*tmp_qloop_34 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_24*tmp_qloop_34;
+                const real_t tmp_qloop_36 = tmp_qloop_29*tmp_qloop_35;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_38 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_40 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_41 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_42 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_43 = tmp_qloop_22*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_23*(tmp_qloop_39 + tmp_qloop_40) + tmp_qloop_24*(tmp_qloop_41 + tmp_qloop_42);
+                const real_t tmp_qloop_44 = tmp_qloop_29*tmp_qloop_43;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_47 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_48 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_49 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_50 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_51 = tmp_qloop_22*(tmp_qloop_45 + tmp_qloop_46) + tmp_qloop_23*(tmp_qloop_47 + tmp_qloop_48) + tmp_qloop_24*(tmp_qloop_49 + tmp_qloop_50);
+                const real_t tmp_qloop_52 = tmp_qloop_29*tmp_qloop_51;
+                const real_t tmp_qloop_53 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_54 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_55 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_56 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_57 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_58 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_59 = tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58);
+                const real_t tmp_qloop_60 = tmp_qloop_29*tmp_qloop_59;
+                const real_t tmp_qloop_61 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_62 = tmp_qloop_22*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_61 - tmp_qloop_38 - tmp_qloop_46) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_61 - tmp_qloop_40 - tmp_qloop_48) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_61 - tmp_qloop_42 - tmp_qloop_50);
+                const real_t tmp_qloop_63 = tmp_qloop_29*tmp_qloop_62;
+                const real_t tmp_qloop_64 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_65 = -tmp_qloop_1 - tmp_qloop_64 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_66 = tmp_qloop_22*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_65 - tmp_qloop_37 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_65 - tmp_qloop_39 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_65 - tmp_qloop_41 - tmp_qloop_58);
+                const real_t tmp_qloop_67 = tmp_qloop_29*tmp_qloop_66;
+                const real_t tmp_qloop_68 = -tmp_qloop_2 - tmp_qloop_64 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_69 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_53) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_55) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_57);
+                const real_t tmp_qloop_70 = tmp_qloop_29*tmp_qloop_69;
+                const real_t tmp_qloop_71 = tmp_qloop_26*tmp_qloop_28;
+                const real_t tmp_qloop_72 = tmp_qloop_32*tmp_qloop_71;
+                const real_t tmp_qloop_73 = tmp_qloop_35*tmp_qloop_71;
+                const real_t tmp_qloop_74 = tmp_qloop_43*tmp_qloop_71;
+                const real_t tmp_qloop_75 = tmp_qloop_51*tmp_qloop_71;
+                const real_t tmp_qloop_76 = tmp_qloop_59*tmp_qloop_71;
+                const real_t tmp_qloop_77 = tmp_qloop_62*tmp_qloop_71;
+                const real_t tmp_qloop_78 = tmp_qloop_66*tmp_qloop_71;
+                const real_t tmp_qloop_79 = tmp_qloop_69*tmp_qloop_71;
+                const real_t tmp_qloop_80 = tmp_qloop_26*tmp_qloop_32;
+                const real_t tmp_qloop_81 = tmp_qloop_35*tmp_qloop_80;
+                const real_t tmp_qloop_82 = tmp_qloop_43*tmp_qloop_80;
+                const real_t tmp_qloop_83 = tmp_qloop_51*tmp_qloop_80;
+                const real_t tmp_qloop_84 = tmp_qloop_59*tmp_qloop_80;
+                const real_t tmp_qloop_85 = tmp_qloop_62*tmp_qloop_80;
+                const real_t tmp_qloop_86 = tmp_qloop_66*tmp_qloop_80;
+                const real_t tmp_qloop_87 = tmp_qloop_69*tmp_qloop_80;
+                const real_t tmp_qloop_88 = tmp_qloop_26*tmp_qloop_35;
+                const real_t tmp_qloop_89 = tmp_qloop_43*tmp_qloop_88;
+                const real_t tmp_qloop_90 = tmp_qloop_51*tmp_qloop_88;
+                const real_t tmp_qloop_91 = tmp_qloop_59*tmp_qloop_88;
+                const real_t tmp_qloop_92 = tmp_qloop_62*tmp_qloop_88;
+                const real_t tmp_qloop_93 = tmp_qloop_66*tmp_qloop_88;
+                const real_t tmp_qloop_94 = tmp_qloop_69*tmp_qloop_88;
+                const real_t tmp_qloop_95 = tmp_qloop_26*tmp_qloop_43;
+                const real_t tmp_qloop_96 = tmp_qloop_51*tmp_qloop_95;
+                const real_t tmp_qloop_97 = tmp_qloop_59*tmp_qloop_95;
+                const real_t tmp_qloop_98 = tmp_qloop_62*tmp_qloop_95;
+                const real_t tmp_qloop_99 = tmp_qloop_66*tmp_qloop_95;
+                const real_t tmp_qloop_100 = tmp_qloop_69*tmp_qloop_95;
+                const real_t tmp_qloop_101 = tmp_qloop_26*tmp_qloop_51;
+                const real_t tmp_qloop_102 = tmp_qloop_101*tmp_qloop_59;
+                const real_t tmp_qloop_103 = tmp_qloop_101*tmp_qloop_62;
+                const real_t tmp_qloop_104 = tmp_qloop_101*tmp_qloop_66;
+                const real_t tmp_qloop_105 = tmp_qloop_101*tmp_qloop_69;
+                const real_t tmp_qloop_106 = tmp_qloop_26*tmp_qloop_59;
+                const real_t tmp_qloop_107 = tmp_qloop_106*tmp_qloop_62;
+                const real_t tmp_qloop_108 = tmp_qloop_106*tmp_qloop_66;
+                const real_t tmp_qloop_109 = tmp_qloop_106*tmp_qloop_69;
+                const real_t tmp_qloop_110 = tmp_qloop_26*tmp_qloop_62;
+                const real_t tmp_qloop_111 = tmp_qloop_110*tmp_qloop_66;
+                const real_t tmp_qloop_112 = tmp_qloop_110*tmp_qloop_69;
+                const real_t tmp_qloop_113 = tmp_qloop_26*tmp_qloop_66*tmp_qloop_69;
+                const real_t q_tmp_0_0 = (tmp_qloop_25*tmp_qloop_25)*tmp_qloop_26;
+                const real_t q_tmp_0_1 = tmp_qloop_30;
+                const real_t q_tmp_0_2 = tmp_qloop_33;
+                const real_t q_tmp_0_3 = tmp_qloop_36;
+                const real_t q_tmp_0_4 = tmp_qloop_44;
+                const real_t q_tmp_0_5 = tmp_qloop_52;
+                const real_t q_tmp_0_6 = tmp_qloop_60;
+                const real_t q_tmp_0_7 = tmp_qloop_63;
+                const real_t q_tmp_0_8 = tmp_qloop_67;
+                const real_t q_tmp_0_9 = tmp_qloop_70;
+                const real_t q_tmp_1_0 = tmp_qloop_30;
+                const real_t q_tmp_1_1 = tmp_qloop_26*(tmp_qloop_28*tmp_qloop_28);
+                const real_t q_tmp_1_2 = tmp_qloop_72;
+                const real_t q_tmp_1_3 = tmp_qloop_73;
+                const real_t q_tmp_1_4 = tmp_qloop_74;
+                const real_t q_tmp_1_5 = tmp_qloop_75;
+                const real_t q_tmp_1_6 = tmp_qloop_76;
+                const real_t q_tmp_1_7 = tmp_qloop_77;
+                const real_t q_tmp_1_8 = tmp_qloop_78;
+                const real_t q_tmp_1_9 = tmp_qloop_79;
+                const real_t q_tmp_2_0 = tmp_qloop_33;
+                const real_t q_tmp_2_1 = tmp_qloop_72;
+                const real_t q_tmp_2_2 = tmp_qloop_26*(tmp_qloop_32*tmp_qloop_32);
+                const real_t q_tmp_2_3 = tmp_qloop_81;
+                const real_t q_tmp_2_4 = tmp_qloop_82;
+                const real_t q_tmp_2_5 = tmp_qloop_83;
+                const real_t q_tmp_2_6 = tmp_qloop_84;
+                const real_t q_tmp_2_7 = tmp_qloop_85;
+                const real_t q_tmp_2_8 = tmp_qloop_86;
+                const real_t q_tmp_2_9 = tmp_qloop_87;
+                const real_t q_tmp_3_0 = tmp_qloop_36;
+                const real_t q_tmp_3_1 = tmp_qloop_73;
+                const real_t q_tmp_3_2 = tmp_qloop_81;
+                const real_t q_tmp_3_3 = tmp_qloop_26*(tmp_qloop_35*tmp_qloop_35);
+                const real_t q_tmp_3_4 = tmp_qloop_89;
+                const real_t q_tmp_3_5 = tmp_qloop_90;
+                const real_t q_tmp_3_6 = tmp_qloop_91;
+                const real_t q_tmp_3_7 = tmp_qloop_92;
+                const real_t q_tmp_3_8 = tmp_qloop_93;
+                const real_t q_tmp_3_9 = tmp_qloop_94;
+                const real_t q_tmp_4_0 = tmp_qloop_44;
+                const real_t q_tmp_4_1 = tmp_qloop_74;
+                const real_t q_tmp_4_2 = tmp_qloop_82;
+                const real_t q_tmp_4_3 = tmp_qloop_89;
+                const real_t q_tmp_4_4 = tmp_qloop_26*(tmp_qloop_43*tmp_qloop_43);
+                const real_t q_tmp_4_5 = tmp_qloop_96;
+                const real_t q_tmp_4_6 = tmp_qloop_97;
+                const real_t q_tmp_4_7 = tmp_qloop_98;
+                const real_t q_tmp_4_8 = tmp_qloop_99;
+                const real_t q_tmp_4_9 = tmp_qloop_100;
+                const real_t q_tmp_5_0 = tmp_qloop_52;
+                const real_t q_tmp_5_1 = tmp_qloop_75;
+                const real_t q_tmp_5_2 = tmp_qloop_83;
+                const real_t q_tmp_5_3 = tmp_qloop_90;
+                const real_t q_tmp_5_4 = tmp_qloop_96;
+                const real_t q_tmp_5_5 = tmp_qloop_26*(tmp_qloop_51*tmp_qloop_51);
+                const real_t q_tmp_5_6 = tmp_qloop_102;
+                const real_t q_tmp_5_7 = tmp_qloop_103;
+                const real_t q_tmp_5_8 = tmp_qloop_104;
+                const real_t q_tmp_5_9 = tmp_qloop_105;
+                const real_t q_tmp_6_0 = tmp_qloop_60;
+                const real_t q_tmp_6_1 = tmp_qloop_76;
+                const real_t q_tmp_6_2 = tmp_qloop_84;
+                const real_t q_tmp_6_3 = tmp_qloop_91;
+                const real_t q_tmp_6_4 = tmp_qloop_97;
+                const real_t q_tmp_6_5 = tmp_qloop_102;
+                const real_t q_tmp_6_6 = tmp_qloop_26*(tmp_qloop_59*tmp_qloop_59);
+                const real_t q_tmp_6_7 = tmp_qloop_107;
+                const real_t q_tmp_6_8 = tmp_qloop_108;
+                const real_t q_tmp_6_9 = tmp_qloop_109;
+                const real_t q_tmp_7_0 = tmp_qloop_63;
+                const real_t q_tmp_7_1 = tmp_qloop_77;
+                const real_t q_tmp_7_2 = tmp_qloop_85;
+                const real_t q_tmp_7_3 = tmp_qloop_92;
+                const real_t q_tmp_7_4 = tmp_qloop_98;
+                const real_t q_tmp_7_5 = tmp_qloop_103;
+                const real_t q_tmp_7_6 = tmp_qloop_107;
+                const real_t q_tmp_7_7 = tmp_qloop_26*(tmp_qloop_62*tmp_qloop_62);
+                const real_t q_tmp_7_8 = tmp_qloop_111;
+                const real_t q_tmp_7_9 = tmp_qloop_112;
+                const real_t q_tmp_8_0 = tmp_qloop_67;
+                const real_t q_tmp_8_1 = tmp_qloop_78;
+                const real_t q_tmp_8_2 = tmp_qloop_86;
+                const real_t q_tmp_8_3 = tmp_qloop_93;
+                const real_t q_tmp_8_4 = tmp_qloop_99;
+                const real_t q_tmp_8_5 = tmp_qloop_104;
+                const real_t q_tmp_8_6 = tmp_qloop_108;
+                const real_t q_tmp_8_7 = tmp_qloop_111;
+                const real_t q_tmp_8_8 = tmp_qloop_26*(tmp_qloop_66*tmp_qloop_66);
+                const real_t q_tmp_8_9 = tmp_qloop_113;
+                const real_t q_tmp_9_0 = tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_79;
+                const real_t q_tmp_9_2 = tmp_qloop_87;
+                const real_t q_tmp_9_3 = tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_qloop_100;
+                const real_t q_tmp_9_5 = tmp_qloop_105;
+                const real_t q_tmp_9_6 = tmp_qloop_109;
+                const real_t q_tmp_9_7 = tmp_qloop_112;
+                const real_t q_tmp_9_8 = tmp_qloop_113;
+                const real_t q_tmp_9_9 = tmp_qloop_26*(tmp_qloop_69*tmp_qloop_69);
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMat_4_0 = q_acc_4_0;
+             const real_t elMat_4_1 = q_acc_4_1;
+             const real_t elMat_4_2 = q_acc_4_2;
+             const real_t elMat_4_3 = q_acc_4_3;
+             const real_t elMat_4_4 = q_acc_4_4;
+             const real_t elMat_4_5 = q_acc_4_5;
+             const real_t elMat_4_6 = q_acc_4_6;
+             const real_t elMat_4_7 = q_acc_4_7;
+             const real_t elMat_4_8 = q_acc_4_8;
+             const real_t elMat_4_9 = q_acc_4_9;
+             const real_t elMat_5_0 = q_acc_5_0;
+             const real_t elMat_5_1 = q_acc_5_1;
+             const real_t elMat_5_2 = q_acc_5_2;
+             const real_t elMat_5_3 = q_acc_5_3;
+             const real_t elMat_5_4 = q_acc_5_4;
+             const real_t elMat_5_5 = q_acc_5_5;
+             const real_t elMat_5_6 = q_acc_5_6;
+             const real_t elMat_5_7 = q_acc_5_7;
+             const real_t elMat_5_8 = q_acc_5_8;
+             const real_t elMat_5_9 = q_acc_5_9;
+             const real_t elMat_6_0 = q_acc_6_0;
+             const real_t elMat_6_1 = q_acc_6_1;
+             const real_t elMat_6_2 = q_acc_6_2;
+             const real_t elMat_6_3 = q_acc_6_3;
+             const real_t elMat_6_4 = q_acc_6_4;
+             const real_t elMat_6_5 = q_acc_6_5;
+             const real_t elMat_6_6 = q_acc_6_6;
+             const real_t elMat_6_7 = q_acc_6_7;
+             const real_t elMat_6_8 = q_acc_6_8;
+             const real_t elMat_6_9 = q_acc_6_9;
+             const real_t elMat_7_0 = q_acc_7_0;
+             const real_t elMat_7_1 = q_acc_7_1;
+             const real_t elMat_7_2 = q_acc_7_2;
+             const real_t elMat_7_3 = q_acc_7_3;
+             const real_t elMat_7_4 = q_acc_7_4;
+             const real_t elMat_7_5 = q_acc_7_5;
+             const real_t elMat_7_6 = q_acc_7_6;
+             const real_t elMat_7_7 = q_acc_7_7;
+             const real_t elMat_7_8 = q_acc_7_8;
+             const real_t elMat_7_9 = q_acc_7_9;
+             const real_t elMat_8_0 = q_acc_8_0;
+             const real_t elMat_8_1 = q_acc_8_1;
+             const real_t elMat_8_2 = q_acc_8_2;
+             const real_t elMat_8_3 = q_acc_8_3;
+             const real_t elMat_8_4 = q_acc_8_4;
+             const real_t elMat_8_5 = q_acc_8_5;
+             const real_t elMat_8_6 = q_acc_8_6;
+             const real_t elMat_8_7 = q_acc_8_7;
+             const real_t elMat_8_8 = q_acc_8_8;
+             const real_t elMat_8_9 = q_acc_8_9;
+             const real_t elMat_9_0 = q_acc_9_0;
+             const real_t elMat_9_1 = q_acc_9_1;
+             const real_t elMat_9_2 = q_acc_9_2;
+             const real_t elMat_9_3 = q_acc_9_3;
+             const real_t elMat_9_4 = q_acc_9_4;
+             const real_t elMat_9_5 = q_acc_9_5;
+             const real_t elMat_9_6 = q_acc_9_6;
+             const real_t elMat_9_7 = q_acc_9_7;
+             const real_t elMat_9_8 = q_acc_9_8;
+             const real_t elMat_9_9 = q_acc_9_9;
+         
+             std::vector< uint_t > _data_rowIdx( 10 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 100 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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[4] = ((uint64_t)(_data_dstEdge[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_rowIdx[5] = ((uint64_t)(_data_dstEdge[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_rowIdx[6] = ((uint64_t)(_data_dstEdge[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_rowIdx[7] = ((uint64_t)(_data_dstEdge[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_rowIdx[8] = ((uint64_t)(_data_dstEdge[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_rowIdx[9] = ((uint64_t)(_data_dstEdge[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))]));
+             _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));
+             _data_mat[40] = ((real_t)(elMat_4_0));
+             _data_mat[41] = ((real_t)(elMat_4_1));
+             _data_mat[42] = ((real_t)(elMat_4_2));
+             _data_mat[43] = ((real_t)(elMat_4_3));
+             _data_mat[44] = ((real_t)(elMat_4_4));
+             _data_mat[45] = ((real_t)(elMat_4_5));
+             _data_mat[46] = ((real_t)(elMat_4_6));
+             _data_mat[47] = ((real_t)(elMat_4_7));
+             _data_mat[48] = ((real_t)(elMat_4_8));
+             _data_mat[49] = ((real_t)(elMat_4_9));
+             _data_mat[50] = ((real_t)(elMat_5_0));
+             _data_mat[51] = ((real_t)(elMat_5_1));
+             _data_mat[52] = ((real_t)(elMat_5_2));
+             _data_mat[53] = ((real_t)(elMat_5_3));
+             _data_mat[54] = ((real_t)(elMat_5_4));
+             _data_mat[55] = ((real_t)(elMat_5_5));
+             _data_mat[56] = ((real_t)(elMat_5_6));
+             _data_mat[57] = ((real_t)(elMat_5_7));
+             _data_mat[58] = ((real_t)(elMat_5_8));
+             _data_mat[59] = ((real_t)(elMat_5_9));
+             _data_mat[60] = ((real_t)(elMat_6_0));
+             _data_mat[61] = ((real_t)(elMat_6_1));
+             _data_mat[62] = ((real_t)(elMat_6_2));
+             _data_mat[63] = ((real_t)(elMat_6_3));
+             _data_mat[64] = ((real_t)(elMat_6_4));
+             _data_mat[65] = ((real_t)(elMat_6_5));
+             _data_mat[66] = ((real_t)(elMat_6_6));
+             _data_mat[67] = ((real_t)(elMat_6_7));
+             _data_mat[68] = ((real_t)(elMat_6_8));
+             _data_mat[69] = ((real_t)(elMat_6_9));
+             _data_mat[70] = ((real_t)(elMat_7_0));
+             _data_mat[71] = ((real_t)(elMat_7_1));
+             _data_mat[72] = ((real_t)(elMat_7_2));
+             _data_mat[73] = ((real_t)(elMat_7_3));
+             _data_mat[74] = ((real_t)(elMat_7_4));
+             _data_mat[75] = ((real_t)(elMat_7_5));
+             _data_mat[76] = ((real_t)(elMat_7_6));
+             _data_mat[77] = ((real_t)(elMat_7_7));
+             _data_mat[78] = ((real_t)(elMat_7_8));
+             _data_mat[79] = ((real_t)(elMat_7_9));
+             _data_mat[80] = ((real_t)(elMat_8_0));
+             _data_mat[81] = ((real_t)(elMat_8_1));
+             _data_mat[82] = ((real_t)(elMat_8_2));
+             _data_mat[83] = ((real_t)(elMat_8_3));
+             _data_mat[84] = ((real_t)(elMat_8_4));
+             _data_mat[85] = ((real_t)(elMat_8_5));
+             _data_mat[86] = ((real_t)(elMat_8_6));
+             _data_mat[87] = ((real_t)(elMat_8_7));
+             _data_mat[88] = ((real_t)(elMat_8_8));
+             _data_mat[89] = ((real_t)(elMat_8_9));
+             _data_mat[90] = ((real_t)(elMat_9_0));
+             _data_mat[91] = ((real_t)(elMat_9_1));
+             _data_mat[92] = ((real_t)(elMat_9_2));
+             _data_mat[93] = ((real_t)(elMat_9_3));
+             _data_mat[94] = ((real_t)(elMat_9_4));
+             _data_mat[95] = ((real_t)(elMat_9_5));
+             _data_mat[96] = ((real_t)(elMat_9_6));
+             _data_mat[97] = ((real_t)(elMat_9_7));
+             _data_mat[98] = ((real_t)(elMat_9_8));
+             _data_mat[99] = ((real_t)(elMat_9_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 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_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 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_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 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_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 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN;
+       const real_t tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN);
+       const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN);
+       const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN);
+       const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN);
+       const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN);
+       {
+          /* CellType.WHITE_DOWN */
+          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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_WHITE_DOWN*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_28 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_27;
+                const real_t tmp_qloop_29 = tmp_qloop_25*tmp_qloop_26;
+                const real_t tmp_qloop_30 = tmp_qloop_28*tmp_qloop_29;
+                const real_t tmp_qloop_31 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_31 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_31 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_31;
+                const real_t tmp_qloop_33 = tmp_qloop_29*tmp_qloop_32;
+                const real_t tmp_qloop_34 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_34 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_34 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_34;
+                const real_t tmp_qloop_36 = tmp_qloop_29*tmp_qloop_35;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_38 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_40 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_41 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_42 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_43 = tmp_qloop_22*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_23*(tmp_qloop_39 + tmp_qloop_40) + tmp_qloop_24*(tmp_qloop_41 + tmp_qloop_42);
+                const real_t tmp_qloop_44 = tmp_qloop_29*tmp_qloop_43;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_47 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_48 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_49 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_50 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_51 = tmp_qloop_22*(tmp_qloop_45 + tmp_qloop_46) + tmp_qloop_23*(tmp_qloop_47 + tmp_qloop_48) + tmp_qloop_24*(tmp_qloop_49 + tmp_qloop_50);
+                const real_t tmp_qloop_52 = tmp_qloop_29*tmp_qloop_51;
+                const real_t tmp_qloop_53 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_54 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_55 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_56 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_57 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_58 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_59 = tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58);
+                const real_t tmp_qloop_60 = tmp_qloop_29*tmp_qloop_59;
+                const real_t tmp_qloop_61 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_62 = tmp_qloop_22*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_61 - tmp_qloop_38 - tmp_qloop_46) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_61 - tmp_qloop_40 - tmp_qloop_48) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_61 - tmp_qloop_42 - tmp_qloop_50);
+                const real_t tmp_qloop_63 = tmp_qloop_29*tmp_qloop_62;
+                const real_t tmp_qloop_64 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_65 = -tmp_qloop_1 - tmp_qloop_64 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_66 = tmp_qloop_22*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_65 - tmp_qloop_37 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_65 - tmp_qloop_39 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_65 - tmp_qloop_41 - tmp_qloop_58);
+                const real_t tmp_qloop_67 = tmp_qloop_29*tmp_qloop_66;
+                const real_t tmp_qloop_68 = -tmp_qloop_2 - tmp_qloop_64 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_69 = tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_53) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_55) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_57);
+                const real_t tmp_qloop_70 = tmp_qloop_29*tmp_qloop_69;
+                const real_t tmp_qloop_71 = tmp_qloop_26*tmp_qloop_28;
+                const real_t tmp_qloop_72 = tmp_qloop_32*tmp_qloop_71;
+                const real_t tmp_qloop_73 = tmp_qloop_35*tmp_qloop_71;
+                const real_t tmp_qloop_74 = tmp_qloop_43*tmp_qloop_71;
+                const real_t tmp_qloop_75 = tmp_qloop_51*tmp_qloop_71;
+                const real_t tmp_qloop_76 = tmp_qloop_59*tmp_qloop_71;
+                const real_t tmp_qloop_77 = tmp_qloop_62*tmp_qloop_71;
+                const real_t tmp_qloop_78 = tmp_qloop_66*tmp_qloop_71;
+                const real_t tmp_qloop_79 = tmp_qloop_69*tmp_qloop_71;
+                const real_t tmp_qloop_80 = tmp_qloop_26*tmp_qloop_32;
+                const real_t tmp_qloop_81 = tmp_qloop_35*tmp_qloop_80;
+                const real_t tmp_qloop_82 = tmp_qloop_43*tmp_qloop_80;
+                const real_t tmp_qloop_83 = tmp_qloop_51*tmp_qloop_80;
+                const real_t tmp_qloop_84 = tmp_qloop_59*tmp_qloop_80;
+                const real_t tmp_qloop_85 = tmp_qloop_62*tmp_qloop_80;
+                const real_t tmp_qloop_86 = tmp_qloop_66*tmp_qloop_80;
+                const real_t tmp_qloop_87 = tmp_qloop_69*tmp_qloop_80;
+                const real_t tmp_qloop_88 = tmp_qloop_26*tmp_qloop_35;
+                const real_t tmp_qloop_89 = tmp_qloop_43*tmp_qloop_88;
+                const real_t tmp_qloop_90 = tmp_qloop_51*tmp_qloop_88;
+                const real_t tmp_qloop_91 = tmp_qloop_59*tmp_qloop_88;
+                const real_t tmp_qloop_92 = tmp_qloop_62*tmp_qloop_88;
+                const real_t tmp_qloop_93 = tmp_qloop_66*tmp_qloop_88;
+                const real_t tmp_qloop_94 = tmp_qloop_69*tmp_qloop_88;
+                const real_t tmp_qloop_95 = tmp_qloop_26*tmp_qloop_43;
+                const real_t tmp_qloop_96 = tmp_qloop_51*tmp_qloop_95;
+                const real_t tmp_qloop_97 = tmp_qloop_59*tmp_qloop_95;
+                const real_t tmp_qloop_98 = tmp_qloop_62*tmp_qloop_95;
+                const real_t tmp_qloop_99 = tmp_qloop_66*tmp_qloop_95;
+                const real_t tmp_qloop_100 = tmp_qloop_69*tmp_qloop_95;
+                const real_t tmp_qloop_101 = tmp_qloop_26*tmp_qloop_51;
+                const real_t tmp_qloop_102 = tmp_qloop_101*tmp_qloop_59;
+                const real_t tmp_qloop_103 = tmp_qloop_101*tmp_qloop_62;
+                const real_t tmp_qloop_104 = tmp_qloop_101*tmp_qloop_66;
+                const real_t tmp_qloop_105 = tmp_qloop_101*tmp_qloop_69;
+                const real_t tmp_qloop_106 = tmp_qloop_26*tmp_qloop_59;
+                const real_t tmp_qloop_107 = tmp_qloop_106*tmp_qloop_62;
+                const real_t tmp_qloop_108 = tmp_qloop_106*tmp_qloop_66;
+                const real_t tmp_qloop_109 = tmp_qloop_106*tmp_qloop_69;
+                const real_t tmp_qloop_110 = tmp_qloop_26*tmp_qloop_62;
+                const real_t tmp_qloop_111 = tmp_qloop_110*tmp_qloop_66;
+                const real_t tmp_qloop_112 = tmp_qloop_110*tmp_qloop_69;
+                const real_t tmp_qloop_113 = tmp_qloop_26*tmp_qloop_66*tmp_qloop_69;
+                const real_t q_tmp_0_0 = (tmp_qloop_25*tmp_qloop_25)*tmp_qloop_26;
+                const real_t q_tmp_0_1 = tmp_qloop_30;
+                const real_t q_tmp_0_2 = tmp_qloop_33;
+                const real_t q_tmp_0_3 = tmp_qloop_36;
+                const real_t q_tmp_0_4 = tmp_qloop_44;
+                const real_t q_tmp_0_5 = tmp_qloop_52;
+                const real_t q_tmp_0_6 = tmp_qloop_60;
+                const real_t q_tmp_0_7 = tmp_qloop_63;
+                const real_t q_tmp_0_8 = tmp_qloop_67;
+                const real_t q_tmp_0_9 = tmp_qloop_70;
+                const real_t q_tmp_1_0 = tmp_qloop_30;
+                const real_t q_tmp_1_1 = tmp_qloop_26*(tmp_qloop_28*tmp_qloop_28);
+                const real_t q_tmp_1_2 = tmp_qloop_72;
+                const real_t q_tmp_1_3 = tmp_qloop_73;
+                const real_t q_tmp_1_4 = tmp_qloop_74;
+                const real_t q_tmp_1_5 = tmp_qloop_75;
+                const real_t q_tmp_1_6 = tmp_qloop_76;
+                const real_t q_tmp_1_7 = tmp_qloop_77;
+                const real_t q_tmp_1_8 = tmp_qloop_78;
+                const real_t q_tmp_1_9 = tmp_qloop_79;
+                const real_t q_tmp_2_0 = tmp_qloop_33;
+                const real_t q_tmp_2_1 = tmp_qloop_72;
+                const real_t q_tmp_2_2 = tmp_qloop_26*(tmp_qloop_32*tmp_qloop_32);
+                const real_t q_tmp_2_3 = tmp_qloop_81;
+                const real_t q_tmp_2_4 = tmp_qloop_82;
+                const real_t q_tmp_2_5 = tmp_qloop_83;
+                const real_t q_tmp_2_6 = tmp_qloop_84;
+                const real_t q_tmp_2_7 = tmp_qloop_85;
+                const real_t q_tmp_2_8 = tmp_qloop_86;
+                const real_t q_tmp_2_9 = tmp_qloop_87;
+                const real_t q_tmp_3_0 = tmp_qloop_36;
+                const real_t q_tmp_3_1 = tmp_qloop_73;
+                const real_t q_tmp_3_2 = tmp_qloop_81;
+                const real_t q_tmp_3_3 = tmp_qloop_26*(tmp_qloop_35*tmp_qloop_35);
+                const real_t q_tmp_3_4 = tmp_qloop_89;
+                const real_t q_tmp_3_5 = tmp_qloop_90;
+                const real_t q_tmp_3_6 = tmp_qloop_91;
+                const real_t q_tmp_3_7 = tmp_qloop_92;
+                const real_t q_tmp_3_8 = tmp_qloop_93;
+                const real_t q_tmp_3_9 = tmp_qloop_94;
+                const real_t q_tmp_4_0 = tmp_qloop_44;
+                const real_t q_tmp_4_1 = tmp_qloop_74;
+                const real_t q_tmp_4_2 = tmp_qloop_82;
+                const real_t q_tmp_4_3 = tmp_qloop_89;
+                const real_t q_tmp_4_4 = tmp_qloop_26*(tmp_qloop_43*tmp_qloop_43);
+                const real_t q_tmp_4_5 = tmp_qloop_96;
+                const real_t q_tmp_4_6 = tmp_qloop_97;
+                const real_t q_tmp_4_7 = tmp_qloop_98;
+                const real_t q_tmp_4_8 = tmp_qloop_99;
+                const real_t q_tmp_4_9 = tmp_qloop_100;
+                const real_t q_tmp_5_0 = tmp_qloop_52;
+                const real_t q_tmp_5_1 = tmp_qloop_75;
+                const real_t q_tmp_5_2 = tmp_qloop_83;
+                const real_t q_tmp_5_3 = tmp_qloop_90;
+                const real_t q_tmp_5_4 = tmp_qloop_96;
+                const real_t q_tmp_5_5 = tmp_qloop_26*(tmp_qloop_51*tmp_qloop_51);
+                const real_t q_tmp_5_6 = tmp_qloop_102;
+                const real_t q_tmp_5_7 = tmp_qloop_103;
+                const real_t q_tmp_5_8 = tmp_qloop_104;
+                const real_t q_tmp_5_9 = tmp_qloop_105;
+                const real_t q_tmp_6_0 = tmp_qloop_60;
+                const real_t q_tmp_6_1 = tmp_qloop_76;
+                const real_t q_tmp_6_2 = tmp_qloop_84;
+                const real_t q_tmp_6_3 = tmp_qloop_91;
+                const real_t q_tmp_6_4 = tmp_qloop_97;
+                const real_t q_tmp_6_5 = tmp_qloop_102;
+                const real_t q_tmp_6_6 = tmp_qloop_26*(tmp_qloop_59*tmp_qloop_59);
+                const real_t q_tmp_6_7 = tmp_qloop_107;
+                const real_t q_tmp_6_8 = tmp_qloop_108;
+                const real_t q_tmp_6_9 = tmp_qloop_109;
+                const real_t q_tmp_7_0 = tmp_qloop_63;
+                const real_t q_tmp_7_1 = tmp_qloop_77;
+                const real_t q_tmp_7_2 = tmp_qloop_85;
+                const real_t q_tmp_7_3 = tmp_qloop_92;
+                const real_t q_tmp_7_4 = tmp_qloop_98;
+                const real_t q_tmp_7_5 = tmp_qloop_103;
+                const real_t q_tmp_7_6 = tmp_qloop_107;
+                const real_t q_tmp_7_7 = tmp_qloop_26*(tmp_qloop_62*tmp_qloop_62);
+                const real_t q_tmp_7_8 = tmp_qloop_111;
+                const real_t q_tmp_7_9 = tmp_qloop_112;
+                const real_t q_tmp_8_0 = tmp_qloop_67;
+                const real_t q_tmp_8_1 = tmp_qloop_78;
+                const real_t q_tmp_8_2 = tmp_qloop_86;
+                const real_t q_tmp_8_3 = tmp_qloop_93;
+                const real_t q_tmp_8_4 = tmp_qloop_99;
+                const real_t q_tmp_8_5 = tmp_qloop_104;
+                const real_t q_tmp_8_6 = tmp_qloop_108;
+                const real_t q_tmp_8_7 = tmp_qloop_111;
+                const real_t q_tmp_8_8 = tmp_qloop_26*(tmp_qloop_66*tmp_qloop_66);
+                const real_t q_tmp_8_9 = tmp_qloop_113;
+                const real_t q_tmp_9_0 = tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_79;
+                const real_t q_tmp_9_2 = tmp_qloop_87;
+                const real_t q_tmp_9_3 = tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_qloop_100;
+                const real_t q_tmp_9_5 = tmp_qloop_105;
+                const real_t q_tmp_9_6 = tmp_qloop_109;
+                const real_t q_tmp_9_7 = tmp_qloop_112;
+                const real_t q_tmp_9_8 = tmp_qloop_113;
+                const real_t q_tmp_9_9 = tmp_qloop_26*(tmp_qloop_69*tmp_qloop_69);
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMat_4_0 = q_acc_4_0;
+             const real_t elMat_4_1 = q_acc_4_1;
+             const real_t elMat_4_2 = q_acc_4_2;
+             const real_t elMat_4_3 = q_acc_4_3;
+             const real_t elMat_4_4 = q_acc_4_4;
+             const real_t elMat_4_5 = q_acc_4_5;
+             const real_t elMat_4_6 = q_acc_4_6;
+             const real_t elMat_4_7 = q_acc_4_7;
+             const real_t elMat_4_8 = q_acc_4_8;
+             const real_t elMat_4_9 = q_acc_4_9;
+             const real_t elMat_5_0 = q_acc_5_0;
+             const real_t elMat_5_1 = q_acc_5_1;
+             const real_t elMat_5_2 = q_acc_5_2;
+             const real_t elMat_5_3 = q_acc_5_3;
+             const real_t elMat_5_4 = q_acc_5_4;
+             const real_t elMat_5_5 = q_acc_5_5;
+             const real_t elMat_5_6 = q_acc_5_6;
+             const real_t elMat_5_7 = q_acc_5_7;
+             const real_t elMat_5_8 = q_acc_5_8;
+             const real_t elMat_5_9 = q_acc_5_9;
+             const real_t elMat_6_0 = q_acc_6_0;
+             const real_t elMat_6_1 = q_acc_6_1;
+             const real_t elMat_6_2 = q_acc_6_2;
+             const real_t elMat_6_3 = q_acc_6_3;
+             const real_t elMat_6_4 = q_acc_6_4;
+             const real_t elMat_6_5 = q_acc_6_5;
+             const real_t elMat_6_6 = q_acc_6_6;
+             const real_t elMat_6_7 = q_acc_6_7;
+             const real_t elMat_6_8 = q_acc_6_8;
+             const real_t elMat_6_9 = q_acc_6_9;
+             const real_t elMat_7_0 = q_acc_7_0;
+             const real_t elMat_7_1 = q_acc_7_1;
+             const real_t elMat_7_2 = q_acc_7_2;
+             const real_t elMat_7_3 = q_acc_7_3;
+             const real_t elMat_7_4 = q_acc_7_4;
+             const real_t elMat_7_5 = q_acc_7_5;
+             const real_t elMat_7_6 = q_acc_7_6;
+             const real_t elMat_7_7 = q_acc_7_7;
+             const real_t elMat_7_8 = q_acc_7_8;
+             const real_t elMat_7_9 = q_acc_7_9;
+             const real_t elMat_8_0 = q_acc_8_0;
+             const real_t elMat_8_1 = q_acc_8_1;
+             const real_t elMat_8_2 = q_acc_8_2;
+             const real_t elMat_8_3 = q_acc_8_3;
+             const real_t elMat_8_4 = q_acc_8_4;
+             const real_t elMat_8_5 = q_acc_8_5;
+             const real_t elMat_8_6 = q_acc_8_6;
+             const real_t elMat_8_7 = q_acc_8_7;
+             const real_t elMat_8_8 = q_acc_8_8;
+             const real_t elMat_8_9 = q_acc_8_9;
+             const real_t elMat_9_0 = q_acc_9_0;
+             const real_t elMat_9_1 = q_acc_9_1;
+             const real_t elMat_9_2 = q_acc_9_2;
+             const real_t elMat_9_3 = q_acc_9_3;
+             const real_t elMat_9_4 = q_acc_9_4;
+             const real_t elMat_9_5 = q_acc_9_5;
+             const real_t elMat_9_6 = q_acc_9_6;
+             const real_t elMat_9_7 = q_acc_9_7;
+             const real_t elMat_9_8 = q_acc_9_8;
+             const real_t elMat_9_9 = q_acc_9_9;
+         
+             std::vector< uint_t > _data_rowIdx( 10 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 100 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_rowIdx[4] = ((uint64_t)(_data_dstEdge[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_rowIdx[5] = ((uint64_t)(_data_dstEdge[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_rowIdx[6] = ((uint64_t)(_data_dstEdge[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_rowIdx[7] = ((uint64_t)(_data_dstEdge[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_rowIdx[8] = ((uint64_t)(_data_dstEdge[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_rowIdx[9] = ((uint64_t)(_data_dstEdge[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[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));
+             _data_mat[40] = ((real_t)(elMat_4_0));
+             _data_mat[41] = ((real_t)(elMat_4_1));
+             _data_mat[42] = ((real_t)(elMat_4_2));
+             _data_mat[43] = ((real_t)(elMat_4_3));
+             _data_mat[44] = ((real_t)(elMat_4_4));
+             _data_mat[45] = ((real_t)(elMat_4_5));
+             _data_mat[46] = ((real_t)(elMat_4_6));
+             _data_mat[47] = ((real_t)(elMat_4_7));
+             _data_mat[48] = ((real_t)(elMat_4_8));
+             _data_mat[49] = ((real_t)(elMat_4_9));
+             _data_mat[50] = ((real_t)(elMat_5_0));
+             _data_mat[51] = ((real_t)(elMat_5_1));
+             _data_mat[52] = ((real_t)(elMat_5_2));
+             _data_mat[53] = ((real_t)(elMat_5_3));
+             _data_mat[54] = ((real_t)(elMat_5_4));
+             _data_mat[55] = ((real_t)(elMat_5_5));
+             _data_mat[56] = ((real_t)(elMat_5_6));
+             _data_mat[57] = ((real_t)(elMat_5_7));
+             _data_mat[58] = ((real_t)(elMat_5_8));
+             _data_mat[59] = ((real_t)(elMat_5_9));
+             _data_mat[60] = ((real_t)(elMat_6_0));
+             _data_mat[61] = ((real_t)(elMat_6_1));
+             _data_mat[62] = ((real_t)(elMat_6_2));
+             _data_mat[63] = ((real_t)(elMat_6_3));
+             _data_mat[64] = ((real_t)(elMat_6_4));
+             _data_mat[65] = ((real_t)(elMat_6_5));
+             _data_mat[66] = ((real_t)(elMat_6_6));
+             _data_mat[67] = ((real_t)(elMat_6_7));
+             _data_mat[68] = ((real_t)(elMat_6_8));
+             _data_mat[69] = ((real_t)(elMat_6_9));
+             _data_mat[70] = ((real_t)(elMat_7_0));
+             _data_mat[71] = ((real_t)(elMat_7_1));
+             _data_mat[72] = ((real_t)(elMat_7_2));
+             _data_mat[73] = ((real_t)(elMat_7_3));
+             _data_mat[74] = ((real_t)(elMat_7_4));
+             _data_mat[75] = ((real_t)(elMat_7_5));
+             _data_mat[76] = ((real_t)(elMat_7_6));
+             _data_mat[77] = ((real_t)(elMat_7_7));
+             _data_mat[78] = ((real_t)(elMat_7_8));
+             _data_mat[79] = ((real_t)(elMat_7_9));
+             _data_mat[80] = ((real_t)(elMat_8_0));
+             _data_mat[81] = ((real_t)(elMat_8_1));
+             _data_mat[82] = ((real_t)(elMat_8_2));
+             _data_mat[83] = ((real_t)(elMat_8_3));
+             _data_mat[84] = ((real_t)(elMat_8_4));
+             _data_mat[85] = ((real_t)(elMat_8_5));
+             _data_mat[86] = ((real_t)(elMat_8_6));
+             _data_mat[87] = ((real_t)(elMat_8_7));
+             _data_mat[88] = ((real_t)(elMat_8_8));
+             _data_mat[89] = ((real_t)(elMat_8_9));
+             _data_mat[90] = ((real_t)(elMat_9_0));
+             _data_mat[91] = ((real_t)(elMat_9_1));
+             _data_mat[92] = ((real_t)(elMat_9_2));
+             _data_mat[93] = ((real_t)(elMat_9_3));
+             _data_mat[94] = ((real_t)(elMat_9_4));
+             _data_mat[95] = ((real_t)(elMat_9_5));
+             _data_mat[96] = ((real_t)(elMat_9_6));
+             _data_mat[97] = ((real_t)(elMat_9_7));
+             _data_mat[98] = ((real_t)(elMat_9_8));
+             _data_mat[99] = ((real_t)(elMat_9_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 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_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 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_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 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_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 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP;
+       const real_t tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP);
+       const real_t jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP);
+       const real_t jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP);
+       const real_t jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP);
+       const real_t jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP);
+       {
+          /* CellType.BLUE_UP */
+          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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_BLUE_UP*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_28 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_0_1_BLUE_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_0_2_BLUE_UP*tmp_qloop_24*tmp_qloop_27;
+                const real_t tmp_qloop_29 = tmp_qloop_25*tmp_qloop_26;
+                const real_t tmp_qloop_30 = tmp_qloop_28*tmp_qloop_29;
+                const real_t tmp_qloop_31 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_22*tmp_qloop_31 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_23*tmp_qloop_31 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_24*tmp_qloop_31;
+                const real_t tmp_qloop_33 = tmp_qloop_29*tmp_qloop_32;
+                const real_t tmp_qloop_34 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_22*tmp_qloop_34 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_23*tmp_qloop_34 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_24*tmp_qloop_34;
+                const real_t tmp_qloop_36 = tmp_qloop_29*tmp_qloop_35;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_38 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_40 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_41 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_42 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_43 = tmp_qloop_22*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_23*(tmp_qloop_39 + tmp_qloop_40) + tmp_qloop_24*(tmp_qloop_41 + tmp_qloop_42);
+                const real_t tmp_qloop_44 = tmp_qloop_29*tmp_qloop_43;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_47 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_48 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_49 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_50 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_51 = tmp_qloop_22*(tmp_qloop_45 + tmp_qloop_46) + tmp_qloop_23*(tmp_qloop_47 + tmp_qloop_48) + tmp_qloop_24*(tmp_qloop_49 + tmp_qloop_50);
+                const real_t tmp_qloop_52 = tmp_qloop_29*tmp_qloop_51;
+                const real_t tmp_qloop_53 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_54 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_55 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_56 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_57 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_58 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_59 = tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58);
+                const real_t tmp_qloop_60 = tmp_qloop_29*tmp_qloop_59;
+                const real_t tmp_qloop_61 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_62 = tmp_qloop_22*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_61 - tmp_qloop_38 - tmp_qloop_46) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_61 - tmp_qloop_40 - tmp_qloop_48) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_61 - tmp_qloop_42 - tmp_qloop_50);
+                const real_t tmp_qloop_63 = tmp_qloop_29*tmp_qloop_62;
+                const real_t tmp_qloop_64 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_65 = -tmp_qloop_1 - tmp_qloop_64 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_66 = tmp_qloop_22*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_65 - tmp_qloop_37 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_65 - tmp_qloop_39 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_65 - tmp_qloop_41 - tmp_qloop_58);
+                const real_t tmp_qloop_67 = tmp_qloop_29*tmp_qloop_66;
+                const real_t tmp_qloop_68 = -tmp_qloop_2 - tmp_qloop_64 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_69 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_53) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_55) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_57);
+                const real_t tmp_qloop_70 = tmp_qloop_29*tmp_qloop_69;
+                const real_t tmp_qloop_71 = tmp_qloop_26*tmp_qloop_28;
+                const real_t tmp_qloop_72 = tmp_qloop_32*tmp_qloop_71;
+                const real_t tmp_qloop_73 = tmp_qloop_35*tmp_qloop_71;
+                const real_t tmp_qloop_74 = tmp_qloop_43*tmp_qloop_71;
+                const real_t tmp_qloop_75 = tmp_qloop_51*tmp_qloop_71;
+                const real_t tmp_qloop_76 = tmp_qloop_59*tmp_qloop_71;
+                const real_t tmp_qloop_77 = tmp_qloop_62*tmp_qloop_71;
+                const real_t tmp_qloop_78 = tmp_qloop_66*tmp_qloop_71;
+                const real_t tmp_qloop_79 = tmp_qloop_69*tmp_qloop_71;
+                const real_t tmp_qloop_80 = tmp_qloop_26*tmp_qloop_32;
+                const real_t tmp_qloop_81 = tmp_qloop_35*tmp_qloop_80;
+                const real_t tmp_qloop_82 = tmp_qloop_43*tmp_qloop_80;
+                const real_t tmp_qloop_83 = tmp_qloop_51*tmp_qloop_80;
+                const real_t tmp_qloop_84 = tmp_qloop_59*tmp_qloop_80;
+                const real_t tmp_qloop_85 = tmp_qloop_62*tmp_qloop_80;
+                const real_t tmp_qloop_86 = tmp_qloop_66*tmp_qloop_80;
+                const real_t tmp_qloop_87 = tmp_qloop_69*tmp_qloop_80;
+                const real_t tmp_qloop_88 = tmp_qloop_26*tmp_qloop_35;
+                const real_t tmp_qloop_89 = tmp_qloop_43*tmp_qloop_88;
+                const real_t tmp_qloop_90 = tmp_qloop_51*tmp_qloop_88;
+                const real_t tmp_qloop_91 = tmp_qloop_59*tmp_qloop_88;
+                const real_t tmp_qloop_92 = tmp_qloop_62*tmp_qloop_88;
+                const real_t tmp_qloop_93 = tmp_qloop_66*tmp_qloop_88;
+                const real_t tmp_qloop_94 = tmp_qloop_69*tmp_qloop_88;
+                const real_t tmp_qloop_95 = tmp_qloop_26*tmp_qloop_43;
+                const real_t tmp_qloop_96 = tmp_qloop_51*tmp_qloop_95;
+                const real_t tmp_qloop_97 = tmp_qloop_59*tmp_qloop_95;
+                const real_t tmp_qloop_98 = tmp_qloop_62*tmp_qloop_95;
+                const real_t tmp_qloop_99 = tmp_qloop_66*tmp_qloop_95;
+                const real_t tmp_qloop_100 = tmp_qloop_69*tmp_qloop_95;
+                const real_t tmp_qloop_101 = tmp_qloop_26*tmp_qloop_51;
+                const real_t tmp_qloop_102 = tmp_qloop_101*tmp_qloop_59;
+                const real_t tmp_qloop_103 = tmp_qloop_101*tmp_qloop_62;
+                const real_t tmp_qloop_104 = tmp_qloop_101*tmp_qloop_66;
+                const real_t tmp_qloop_105 = tmp_qloop_101*tmp_qloop_69;
+                const real_t tmp_qloop_106 = tmp_qloop_26*tmp_qloop_59;
+                const real_t tmp_qloop_107 = tmp_qloop_106*tmp_qloop_62;
+                const real_t tmp_qloop_108 = tmp_qloop_106*tmp_qloop_66;
+                const real_t tmp_qloop_109 = tmp_qloop_106*tmp_qloop_69;
+                const real_t tmp_qloop_110 = tmp_qloop_26*tmp_qloop_62;
+                const real_t tmp_qloop_111 = tmp_qloop_110*tmp_qloop_66;
+                const real_t tmp_qloop_112 = tmp_qloop_110*tmp_qloop_69;
+                const real_t tmp_qloop_113 = tmp_qloop_26*tmp_qloop_66*tmp_qloop_69;
+                const real_t q_tmp_0_0 = (tmp_qloop_25*tmp_qloop_25)*tmp_qloop_26;
+                const real_t q_tmp_0_1 = tmp_qloop_30;
+                const real_t q_tmp_0_2 = tmp_qloop_33;
+                const real_t q_tmp_0_3 = tmp_qloop_36;
+                const real_t q_tmp_0_4 = tmp_qloop_44;
+                const real_t q_tmp_0_5 = tmp_qloop_52;
+                const real_t q_tmp_0_6 = tmp_qloop_60;
+                const real_t q_tmp_0_7 = tmp_qloop_63;
+                const real_t q_tmp_0_8 = tmp_qloop_67;
+                const real_t q_tmp_0_9 = tmp_qloop_70;
+                const real_t q_tmp_1_0 = tmp_qloop_30;
+                const real_t q_tmp_1_1 = tmp_qloop_26*(tmp_qloop_28*tmp_qloop_28);
+                const real_t q_tmp_1_2 = tmp_qloop_72;
+                const real_t q_tmp_1_3 = tmp_qloop_73;
+                const real_t q_tmp_1_4 = tmp_qloop_74;
+                const real_t q_tmp_1_5 = tmp_qloop_75;
+                const real_t q_tmp_1_6 = tmp_qloop_76;
+                const real_t q_tmp_1_7 = tmp_qloop_77;
+                const real_t q_tmp_1_8 = tmp_qloop_78;
+                const real_t q_tmp_1_9 = tmp_qloop_79;
+                const real_t q_tmp_2_0 = tmp_qloop_33;
+                const real_t q_tmp_2_1 = tmp_qloop_72;
+                const real_t q_tmp_2_2 = tmp_qloop_26*(tmp_qloop_32*tmp_qloop_32);
+                const real_t q_tmp_2_3 = tmp_qloop_81;
+                const real_t q_tmp_2_4 = tmp_qloop_82;
+                const real_t q_tmp_2_5 = tmp_qloop_83;
+                const real_t q_tmp_2_6 = tmp_qloop_84;
+                const real_t q_tmp_2_7 = tmp_qloop_85;
+                const real_t q_tmp_2_8 = tmp_qloop_86;
+                const real_t q_tmp_2_9 = tmp_qloop_87;
+                const real_t q_tmp_3_0 = tmp_qloop_36;
+                const real_t q_tmp_3_1 = tmp_qloop_73;
+                const real_t q_tmp_3_2 = tmp_qloop_81;
+                const real_t q_tmp_3_3 = tmp_qloop_26*(tmp_qloop_35*tmp_qloop_35);
+                const real_t q_tmp_3_4 = tmp_qloop_89;
+                const real_t q_tmp_3_5 = tmp_qloop_90;
+                const real_t q_tmp_3_6 = tmp_qloop_91;
+                const real_t q_tmp_3_7 = tmp_qloop_92;
+                const real_t q_tmp_3_8 = tmp_qloop_93;
+                const real_t q_tmp_3_9 = tmp_qloop_94;
+                const real_t q_tmp_4_0 = tmp_qloop_44;
+                const real_t q_tmp_4_1 = tmp_qloop_74;
+                const real_t q_tmp_4_2 = tmp_qloop_82;
+                const real_t q_tmp_4_3 = tmp_qloop_89;
+                const real_t q_tmp_4_4 = tmp_qloop_26*(tmp_qloop_43*tmp_qloop_43);
+                const real_t q_tmp_4_5 = tmp_qloop_96;
+                const real_t q_tmp_4_6 = tmp_qloop_97;
+                const real_t q_tmp_4_7 = tmp_qloop_98;
+                const real_t q_tmp_4_8 = tmp_qloop_99;
+                const real_t q_tmp_4_9 = tmp_qloop_100;
+                const real_t q_tmp_5_0 = tmp_qloop_52;
+                const real_t q_tmp_5_1 = tmp_qloop_75;
+                const real_t q_tmp_5_2 = tmp_qloop_83;
+                const real_t q_tmp_5_3 = tmp_qloop_90;
+                const real_t q_tmp_5_4 = tmp_qloop_96;
+                const real_t q_tmp_5_5 = tmp_qloop_26*(tmp_qloop_51*tmp_qloop_51);
+                const real_t q_tmp_5_6 = tmp_qloop_102;
+                const real_t q_tmp_5_7 = tmp_qloop_103;
+                const real_t q_tmp_5_8 = tmp_qloop_104;
+                const real_t q_tmp_5_9 = tmp_qloop_105;
+                const real_t q_tmp_6_0 = tmp_qloop_60;
+                const real_t q_tmp_6_1 = tmp_qloop_76;
+                const real_t q_tmp_6_2 = tmp_qloop_84;
+                const real_t q_tmp_6_3 = tmp_qloop_91;
+                const real_t q_tmp_6_4 = tmp_qloop_97;
+                const real_t q_tmp_6_5 = tmp_qloop_102;
+                const real_t q_tmp_6_6 = tmp_qloop_26*(tmp_qloop_59*tmp_qloop_59);
+                const real_t q_tmp_6_7 = tmp_qloop_107;
+                const real_t q_tmp_6_8 = tmp_qloop_108;
+                const real_t q_tmp_6_9 = tmp_qloop_109;
+                const real_t q_tmp_7_0 = tmp_qloop_63;
+                const real_t q_tmp_7_1 = tmp_qloop_77;
+                const real_t q_tmp_7_2 = tmp_qloop_85;
+                const real_t q_tmp_7_3 = tmp_qloop_92;
+                const real_t q_tmp_7_4 = tmp_qloop_98;
+                const real_t q_tmp_7_5 = tmp_qloop_103;
+                const real_t q_tmp_7_6 = tmp_qloop_107;
+                const real_t q_tmp_7_7 = tmp_qloop_26*(tmp_qloop_62*tmp_qloop_62);
+                const real_t q_tmp_7_8 = tmp_qloop_111;
+                const real_t q_tmp_7_9 = tmp_qloop_112;
+                const real_t q_tmp_8_0 = tmp_qloop_67;
+                const real_t q_tmp_8_1 = tmp_qloop_78;
+                const real_t q_tmp_8_2 = tmp_qloop_86;
+                const real_t q_tmp_8_3 = tmp_qloop_93;
+                const real_t q_tmp_8_4 = tmp_qloop_99;
+                const real_t q_tmp_8_5 = tmp_qloop_104;
+                const real_t q_tmp_8_6 = tmp_qloop_108;
+                const real_t q_tmp_8_7 = tmp_qloop_111;
+                const real_t q_tmp_8_8 = tmp_qloop_26*(tmp_qloop_66*tmp_qloop_66);
+                const real_t q_tmp_8_9 = tmp_qloop_113;
+                const real_t q_tmp_9_0 = tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_79;
+                const real_t q_tmp_9_2 = tmp_qloop_87;
+                const real_t q_tmp_9_3 = tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_qloop_100;
+                const real_t q_tmp_9_5 = tmp_qloop_105;
+                const real_t q_tmp_9_6 = tmp_qloop_109;
+                const real_t q_tmp_9_7 = tmp_qloop_112;
+                const real_t q_tmp_9_8 = tmp_qloop_113;
+                const real_t q_tmp_9_9 = tmp_qloop_26*(tmp_qloop_69*tmp_qloop_69);
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMat_4_0 = q_acc_4_0;
+             const real_t elMat_4_1 = q_acc_4_1;
+             const real_t elMat_4_2 = q_acc_4_2;
+             const real_t elMat_4_3 = q_acc_4_3;
+             const real_t elMat_4_4 = q_acc_4_4;
+             const real_t elMat_4_5 = q_acc_4_5;
+             const real_t elMat_4_6 = q_acc_4_6;
+             const real_t elMat_4_7 = q_acc_4_7;
+             const real_t elMat_4_8 = q_acc_4_8;
+             const real_t elMat_4_9 = q_acc_4_9;
+             const real_t elMat_5_0 = q_acc_5_0;
+             const real_t elMat_5_1 = q_acc_5_1;
+             const real_t elMat_5_2 = q_acc_5_2;
+             const real_t elMat_5_3 = q_acc_5_3;
+             const real_t elMat_5_4 = q_acc_5_4;
+             const real_t elMat_5_5 = q_acc_5_5;
+             const real_t elMat_5_6 = q_acc_5_6;
+             const real_t elMat_5_7 = q_acc_5_7;
+             const real_t elMat_5_8 = q_acc_5_8;
+             const real_t elMat_5_9 = q_acc_5_9;
+             const real_t elMat_6_0 = q_acc_6_0;
+             const real_t elMat_6_1 = q_acc_6_1;
+             const real_t elMat_6_2 = q_acc_6_2;
+             const real_t elMat_6_3 = q_acc_6_3;
+             const real_t elMat_6_4 = q_acc_6_4;
+             const real_t elMat_6_5 = q_acc_6_5;
+             const real_t elMat_6_6 = q_acc_6_6;
+             const real_t elMat_6_7 = q_acc_6_7;
+             const real_t elMat_6_8 = q_acc_6_8;
+             const real_t elMat_6_9 = q_acc_6_9;
+             const real_t elMat_7_0 = q_acc_7_0;
+             const real_t elMat_7_1 = q_acc_7_1;
+             const real_t elMat_7_2 = q_acc_7_2;
+             const real_t elMat_7_3 = q_acc_7_3;
+             const real_t elMat_7_4 = q_acc_7_4;
+             const real_t elMat_7_5 = q_acc_7_5;
+             const real_t elMat_7_6 = q_acc_7_6;
+             const real_t elMat_7_7 = q_acc_7_7;
+             const real_t elMat_7_8 = q_acc_7_8;
+             const real_t elMat_7_9 = q_acc_7_9;
+             const real_t elMat_8_0 = q_acc_8_0;
+             const real_t elMat_8_1 = q_acc_8_1;
+             const real_t elMat_8_2 = q_acc_8_2;
+             const real_t elMat_8_3 = q_acc_8_3;
+             const real_t elMat_8_4 = q_acc_8_4;
+             const real_t elMat_8_5 = q_acc_8_5;
+             const real_t elMat_8_6 = q_acc_8_6;
+             const real_t elMat_8_7 = q_acc_8_7;
+             const real_t elMat_8_8 = q_acc_8_8;
+             const real_t elMat_8_9 = q_acc_8_9;
+             const real_t elMat_9_0 = q_acc_9_0;
+             const real_t elMat_9_1 = q_acc_9_1;
+             const real_t elMat_9_2 = q_acc_9_2;
+             const real_t elMat_9_3 = q_acc_9_3;
+             const real_t elMat_9_4 = q_acc_9_4;
+             const real_t elMat_9_5 = q_acc_9_5;
+             const real_t elMat_9_6 = q_acc_9_6;
+             const real_t elMat_9_7 = q_acc_9_7;
+             const real_t elMat_9_8 = q_acc_9_8;
+             const real_t elMat_9_9 = q_acc_9_9;
+         
+             std::vector< uint_t > _data_rowIdx( 10 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 100 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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[4] = ((uint64_t)(_data_dstEdge[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_rowIdx[5] = ((uint64_t)(_data_dstEdge[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_rowIdx[6] = ((uint64_t)(_data_dstEdge[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_rowIdx[7] = ((uint64_t)(_data_dstEdge[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_rowIdx[8] = ((uint64_t)(_data_dstEdge[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_rowIdx[9] = ((uint64_t)(_data_dstEdge[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[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));
+             _data_mat[40] = ((real_t)(elMat_4_0));
+             _data_mat[41] = ((real_t)(elMat_4_1));
+             _data_mat[42] = ((real_t)(elMat_4_2));
+             _data_mat[43] = ((real_t)(elMat_4_3));
+             _data_mat[44] = ((real_t)(elMat_4_4));
+             _data_mat[45] = ((real_t)(elMat_4_5));
+             _data_mat[46] = ((real_t)(elMat_4_6));
+             _data_mat[47] = ((real_t)(elMat_4_7));
+             _data_mat[48] = ((real_t)(elMat_4_8));
+             _data_mat[49] = ((real_t)(elMat_4_9));
+             _data_mat[50] = ((real_t)(elMat_5_0));
+             _data_mat[51] = ((real_t)(elMat_5_1));
+             _data_mat[52] = ((real_t)(elMat_5_2));
+             _data_mat[53] = ((real_t)(elMat_5_3));
+             _data_mat[54] = ((real_t)(elMat_5_4));
+             _data_mat[55] = ((real_t)(elMat_5_5));
+             _data_mat[56] = ((real_t)(elMat_5_6));
+             _data_mat[57] = ((real_t)(elMat_5_7));
+             _data_mat[58] = ((real_t)(elMat_5_8));
+             _data_mat[59] = ((real_t)(elMat_5_9));
+             _data_mat[60] = ((real_t)(elMat_6_0));
+             _data_mat[61] = ((real_t)(elMat_6_1));
+             _data_mat[62] = ((real_t)(elMat_6_2));
+             _data_mat[63] = ((real_t)(elMat_6_3));
+             _data_mat[64] = ((real_t)(elMat_6_4));
+             _data_mat[65] = ((real_t)(elMat_6_5));
+             _data_mat[66] = ((real_t)(elMat_6_6));
+             _data_mat[67] = ((real_t)(elMat_6_7));
+             _data_mat[68] = ((real_t)(elMat_6_8));
+             _data_mat[69] = ((real_t)(elMat_6_9));
+             _data_mat[70] = ((real_t)(elMat_7_0));
+             _data_mat[71] = ((real_t)(elMat_7_1));
+             _data_mat[72] = ((real_t)(elMat_7_2));
+             _data_mat[73] = ((real_t)(elMat_7_3));
+             _data_mat[74] = ((real_t)(elMat_7_4));
+             _data_mat[75] = ((real_t)(elMat_7_5));
+             _data_mat[76] = ((real_t)(elMat_7_6));
+             _data_mat[77] = ((real_t)(elMat_7_7));
+             _data_mat[78] = ((real_t)(elMat_7_8));
+             _data_mat[79] = ((real_t)(elMat_7_9));
+             _data_mat[80] = ((real_t)(elMat_8_0));
+             _data_mat[81] = ((real_t)(elMat_8_1));
+             _data_mat[82] = ((real_t)(elMat_8_2));
+             _data_mat[83] = ((real_t)(elMat_8_3));
+             _data_mat[84] = ((real_t)(elMat_8_4));
+             _data_mat[85] = ((real_t)(elMat_8_5));
+             _data_mat[86] = ((real_t)(elMat_8_6));
+             _data_mat[87] = ((real_t)(elMat_8_7));
+             _data_mat[88] = ((real_t)(elMat_8_8));
+             _data_mat[89] = ((real_t)(elMat_8_9));
+             _data_mat[90] = ((real_t)(elMat_9_0));
+             _data_mat[91] = ((real_t)(elMat_9_1));
+             _data_mat[92] = ((real_t)(elMat_9_2));
+             _data_mat[93] = ((real_t)(elMat_9_3));
+             _data_mat[94] = ((real_t)(elMat_9_4));
+             _data_mat[95] = ((real_t)(elMat_9_5));
+             _data_mat[96] = ((real_t)(elMat_9_6));
+             _data_mat[97] = ((real_t)(elMat_9_7));
+             _data_mat[98] = ((real_t)(elMat_9_8));
+             _data_mat[99] = ((real_t)(elMat_9_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 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_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 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN;
+       const real_t tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN);
+       const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN);
+       const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN);
+       const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN);
+       const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN);
+       {
+          /* CellType.BLUE_DOWN */
+          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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_BLUE_DOWN*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_28 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_27;
+                const real_t tmp_qloop_29 = tmp_qloop_25*tmp_qloop_26;
+                const real_t tmp_qloop_30 = tmp_qloop_28*tmp_qloop_29;
+                const real_t tmp_qloop_31 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_31 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_31 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_31;
+                const real_t tmp_qloop_33 = tmp_qloop_29*tmp_qloop_32;
+                const real_t tmp_qloop_34 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_34 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_34 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_34;
+                const real_t tmp_qloop_36 = tmp_qloop_29*tmp_qloop_35;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_38 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_40 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_41 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_42 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_43 = tmp_qloop_22*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_23*(tmp_qloop_39 + tmp_qloop_40) + tmp_qloop_24*(tmp_qloop_41 + tmp_qloop_42);
+                const real_t tmp_qloop_44 = tmp_qloop_29*tmp_qloop_43;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_47 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_48 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_49 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_50 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_51 = tmp_qloop_22*(tmp_qloop_45 + tmp_qloop_46) + tmp_qloop_23*(tmp_qloop_47 + tmp_qloop_48) + tmp_qloop_24*(tmp_qloop_49 + tmp_qloop_50);
+                const real_t tmp_qloop_52 = tmp_qloop_29*tmp_qloop_51;
+                const real_t tmp_qloop_53 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_54 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_55 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_56 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_57 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_58 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_59 = tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58);
+                const real_t tmp_qloop_60 = tmp_qloop_29*tmp_qloop_59;
+                const real_t tmp_qloop_61 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_62 = tmp_qloop_22*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_61 - tmp_qloop_38 - tmp_qloop_46) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_61 - tmp_qloop_40 - tmp_qloop_48) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_61 - tmp_qloop_42 - tmp_qloop_50);
+                const real_t tmp_qloop_63 = tmp_qloop_29*tmp_qloop_62;
+                const real_t tmp_qloop_64 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_65 = -tmp_qloop_1 - tmp_qloop_64 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_66 = tmp_qloop_22*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_65 - tmp_qloop_37 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_65 - tmp_qloop_39 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_65 - tmp_qloop_41 - tmp_qloop_58);
+                const real_t tmp_qloop_67 = tmp_qloop_29*tmp_qloop_66;
+                const real_t tmp_qloop_68 = -tmp_qloop_2 - tmp_qloop_64 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_69 = tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_53) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_55) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_57);
+                const real_t tmp_qloop_70 = tmp_qloop_29*tmp_qloop_69;
+                const real_t tmp_qloop_71 = tmp_qloop_26*tmp_qloop_28;
+                const real_t tmp_qloop_72 = tmp_qloop_32*tmp_qloop_71;
+                const real_t tmp_qloop_73 = tmp_qloop_35*tmp_qloop_71;
+                const real_t tmp_qloop_74 = tmp_qloop_43*tmp_qloop_71;
+                const real_t tmp_qloop_75 = tmp_qloop_51*tmp_qloop_71;
+                const real_t tmp_qloop_76 = tmp_qloop_59*tmp_qloop_71;
+                const real_t tmp_qloop_77 = tmp_qloop_62*tmp_qloop_71;
+                const real_t tmp_qloop_78 = tmp_qloop_66*tmp_qloop_71;
+                const real_t tmp_qloop_79 = tmp_qloop_69*tmp_qloop_71;
+                const real_t tmp_qloop_80 = tmp_qloop_26*tmp_qloop_32;
+                const real_t tmp_qloop_81 = tmp_qloop_35*tmp_qloop_80;
+                const real_t tmp_qloop_82 = tmp_qloop_43*tmp_qloop_80;
+                const real_t tmp_qloop_83 = tmp_qloop_51*tmp_qloop_80;
+                const real_t tmp_qloop_84 = tmp_qloop_59*tmp_qloop_80;
+                const real_t tmp_qloop_85 = tmp_qloop_62*tmp_qloop_80;
+                const real_t tmp_qloop_86 = tmp_qloop_66*tmp_qloop_80;
+                const real_t tmp_qloop_87 = tmp_qloop_69*tmp_qloop_80;
+                const real_t tmp_qloop_88 = tmp_qloop_26*tmp_qloop_35;
+                const real_t tmp_qloop_89 = tmp_qloop_43*tmp_qloop_88;
+                const real_t tmp_qloop_90 = tmp_qloop_51*tmp_qloop_88;
+                const real_t tmp_qloop_91 = tmp_qloop_59*tmp_qloop_88;
+                const real_t tmp_qloop_92 = tmp_qloop_62*tmp_qloop_88;
+                const real_t tmp_qloop_93 = tmp_qloop_66*tmp_qloop_88;
+                const real_t tmp_qloop_94 = tmp_qloop_69*tmp_qloop_88;
+                const real_t tmp_qloop_95 = tmp_qloop_26*tmp_qloop_43;
+                const real_t tmp_qloop_96 = tmp_qloop_51*tmp_qloop_95;
+                const real_t tmp_qloop_97 = tmp_qloop_59*tmp_qloop_95;
+                const real_t tmp_qloop_98 = tmp_qloop_62*tmp_qloop_95;
+                const real_t tmp_qloop_99 = tmp_qloop_66*tmp_qloop_95;
+                const real_t tmp_qloop_100 = tmp_qloop_69*tmp_qloop_95;
+                const real_t tmp_qloop_101 = tmp_qloop_26*tmp_qloop_51;
+                const real_t tmp_qloop_102 = tmp_qloop_101*tmp_qloop_59;
+                const real_t tmp_qloop_103 = tmp_qloop_101*tmp_qloop_62;
+                const real_t tmp_qloop_104 = tmp_qloop_101*tmp_qloop_66;
+                const real_t tmp_qloop_105 = tmp_qloop_101*tmp_qloop_69;
+                const real_t tmp_qloop_106 = tmp_qloop_26*tmp_qloop_59;
+                const real_t tmp_qloop_107 = tmp_qloop_106*tmp_qloop_62;
+                const real_t tmp_qloop_108 = tmp_qloop_106*tmp_qloop_66;
+                const real_t tmp_qloop_109 = tmp_qloop_106*tmp_qloop_69;
+                const real_t tmp_qloop_110 = tmp_qloop_26*tmp_qloop_62;
+                const real_t tmp_qloop_111 = tmp_qloop_110*tmp_qloop_66;
+                const real_t tmp_qloop_112 = tmp_qloop_110*tmp_qloop_69;
+                const real_t tmp_qloop_113 = tmp_qloop_26*tmp_qloop_66*tmp_qloop_69;
+                const real_t q_tmp_0_0 = (tmp_qloop_25*tmp_qloop_25)*tmp_qloop_26;
+                const real_t q_tmp_0_1 = tmp_qloop_30;
+                const real_t q_tmp_0_2 = tmp_qloop_33;
+                const real_t q_tmp_0_3 = tmp_qloop_36;
+                const real_t q_tmp_0_4 = tmp_qloop_44;
+                const real_t q_tmp_0_5 = tmp_qloop_52;
+                const real_t q_tmp_0_6 = tmp_qloop_60;
+                const real_t q_tmp_0_7 = tmp_qloop_63;
+                const real_t q_tmp_0_8 = tmp_qloop_67;
+                const real_t q_tmp_0_9 = tmp_qloop_70;
+                const real_t q_tmp_1_0 = tmp_qloop_30;
+                const real_t q_tmp_1_1 = tmp_qloop_26*(tmp_qloop_28*tmp_qloop_28);
+                const real_t q_tmp_1_2 = tmp_qloop_72;
+                const real_t q_tmp_1_3 = tmp_qloop_73;
+                const real_t q_tmp_1_4 = tmp_qloop_74;
+                const real_t q_tmp_1_5 = tmp_qloop_75;
+                const real_t q_tmp_1_6 = tmp_qloop_76;
+                const real_t q_tmp_1_7 = tmp_qloop_77;
+                const real_t q_tmp_1_8 = tmp_qloop_78;
+                const real_t q_tmp_1_9 = tmp_qloop_79;
+                const real_t q_tmp_2_0 = tmp_qloop_33;
+                const real_t q_tmp_2_1 = tmp_qloop_72;
+                const real_t q_tmp_2_2 = tmp_qloop_26*(tmp_qloop_32*tmp_qloop_32);
+                const real_t q_tmp_2_3 = tmp_qloop_81;
+                const real_t q_tmp_2_4 = tmp_qloop_82;
+                const real_t q_tmp_2_5 = tmp_qloop_83;
+                const real_t q_tmp_2_6 = tmp_qloop_84;
+                const real_t q_tmp_2_7 = tmp_qloop_85;
+                const real_t q_tmp_2_8 = tmp_qloop_86;
+                const real_t q_tmp_2_9 = tmp_qloop_87;
+                const real_t q_tmp_3_0 = tmp_qloop_36;
+                const real_t q_tmp_3_1 = tmp_qloop_73;
+                const real_t q_tmp_3_2 = tmp_qloop_81;
+                const real_t q_tmp_3_3 = tmp_qloop_26*(tmp_qloop_35*tmp_qloop_35);
+                const real_t q_tmp_3_4 = tmp_qloop_89;
+                const real_t q_tmp_3_5 = tmp_qloop_90;
+                const real_t q_tmp_3_6 = tmp_qloop_91;
+                const real_t q_tmp_3_7 = tmp_qloop_92;
+                const real_t q_tmp_3_8 = tmp_qloop_93;
+                const real_t q_tmp_3_9 = tmp_qloop_94;
+                const real_t q_tmp_4_0 = tmp_qloop_44;
+                const real_t q_tmp_4_1 = tmp_qloop_74;
+                const real_t q_tmp_4_2 = tmp_qloop_82;
+                const real_t q_tmp_4_3 = tmp_qloop_89;
+                const real_t q_tmp_4_4 = tmp_qloop_26*(tmp_qloop_43*tmp_qloop_43);
+                const real_t q_tmp_4_5 = tmp_qloop_96;
+                const real_t q_tmp_4_6 = tmp_qloop_97;
+                const real_t q_tmp_4_7 = tmp_qloop_98;
+                const real_t q_tmp_4_8 = tmp_qloop_99;
+                const real_t q_tmp_4_9 = tmp_qloop_100;
+                const real_t q_tmp_5_0 = tmp_qloop_52;
+                const real_t q_tmp_5_1 = tmp_qloop_75;
+                const real_t q_tmp_5_2 = tmp_qloop_83;
+                const real_t q_tmp_5_3 = tmp_qloop_90;
+                const real_t q_tmp_5_4 = tmp_qloop_96;
+                const real_t q_tmp_5_5 = tmp_qloop_26*(tmp_qloop_51*tmp_qloop_51);
+                const real_t q_tmp_5_6 = tmp_qloop_102;
+                const real_t q_tmp_5_7 = tmp_qloop_103;
+                const real_t q_tmp_5_8 = tmp_qloop_104;
+                const real_t q_tmp_5_9 = tmp_qloop_105;
+                const real_t q_tmp_6_0 = tmp_qloop_60;
+                const real_t q_tmp_6_1 = tmp_qloop_76;
+                const real_t q_tmp_6_2 = tmp_qloop_84;
+                const real_t q_tmp_6_3 = tmp_qloop_91;
+                const real_t q_tmp_6_4 = tmp_qloop_97;
+                const real_t q_tmp_6_5 = tmp_qloop_102;
+                const real_t q_tmp_6_6 = tmp_qloop_26*(tmp_qloop_59*tmp_qloop_59);
+                const real_t q_tmp_6_7 = tmp_qloop_107;
+                const real_t q_tmp_6_8 = tmp_qloop_108;
+                const real_t q_tmp_6_9 = tmp_qloop_109;
+                const real_t q_tmp_7_0 = tmp_qloop_63;
+                const real_t q_tmp_7_1 = tmp_qloop_77;
+                const real_t q_tmp_7_2 = tmp_qloop_85;
+                const real_t q_tmp_7_3 = tmp_qloop_92;
+                const real_t q_tmp_7_4 = tmp_qloop_98;
+                const real_t q_tmp_7_5 = tmp_qloop_103;
+                const real_t q_tmp_7_6 = tmp_qloop_107;
+                const real_t q_tmp_7_7 = tmp_qloop_26*(tmp_qloop_62*tmp_qloop_62);
+                const real_t q_tmp_7_8 = tmp_qloop_111;
+                const real_t q_tmp_7_9 = tmp_qloop_112;
+                const real_t q_tmp_8_0 = tmp_qloop_67;
+                const real_t q_tmp_8_1 = tmp_qloop_78;
+                const real_t q_tmp_8_2 = tmp_qloop_86;
+                const real_t q_tmp_8_3 = tmp_qloop_93;
+                const real_t q_tmp_8_4 = tmp_qloop_99;
+                const real_t q_tmp_8_5 = tmp_qloop_104;
+                const real_t q_tmp_8_6 = tmp_qloop_108;
+                const real_t q_tmp_8_7 = tmp_qloop_111;
+                const real_t q_tmp_8_8 = tmp_qloop_26*(tmp_qloop_66*tmp_qloop_66);
+                const real_t q_tmp_8_9 = tmp_qloop_113;
+                const real_t q_tmp_9_0 = tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_79;
+                const real_t q_tmp_9_2 = tmp_qloop_87;
+                const real_t q_tmp_9_3 = tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_qloop_100;
+                const real_t q_tmp_9_5 = tmp_qloop_105;
+                const real_t q_tmp_9_6 = tmp_qloop_109;
+                const real_t q_tmp_9_7 = tmp_qloop_112;
+                const real_t q_tmp_9_8 = tmp_qloop_113;
+                const real_t q_tmp_9_9 = tmp_qloop_26*(tmp_qloop_69*tmp_qloop_69);
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMat_4_0 = q_acc_4_0;
+             const real_t elMat_4_1 = q_acc_4_1;
+             const real_t elMat_4_2 = q_acc_4_2;
+             const real_t elMat_4_3 = q_acc_4_3;
+             const real_t elMat_4_4 = q_acc_4_4;
+             const real_t elMat_4_5 = q_acc_4_5;
+             const real_t elMat_4_6 = q_acc_4_6;
+             const real_t elMat_4_7 = q_acc_4_7;
+             const real_t elMat_4_8 = q_acc_4_8;
+             const real_t elMat_4_9 = q_acc_4_9;
+             const real_t elMat_5_0 = q_acc_5_0;
+             const real_t elMat_5_1 = q_acc_5_1;
+             const real_t elMat_5_2 = q_acc_5_2;
+             const real_t elMat_5_3 = q_acc_5_3;
+             const real_t elMat_5_4 = q_acc_5_4;
+             const real_t elMat_5_5 = q_acc_5_5;
+             const real_t elMat_5_6 = q_acc_5_6;
+             const real_t elMat_5_7 = q_acc_5_7;
+             const real_t elMat_5_8 = q_acc_5_8;
+             const real_t elMat_5_9 = q_acc_5_9;
+             const real_t elMat_6_0 = q_acc_6_0;
+             const real_t elMat_6_1 = q_acc_6_1;
+             const real_t elMat_6_2 = q_acc_6_2;
+             const real_t elMat_6_3 = q_acc_6_3;
+             const real_t elMat_6_4 = q_acc_6_4;
+             const real_t elMat_6_5 = q_acc_6_5;
+             const real_t elMat_6_6 = q_acc_6_6;
+             const real_t elMat_6_7 = q_acc_6_7;
+             const real_t elMat_6_8 = q_acc_6_8;
+             const real_t elMat_6_9 = q_acc_6_9;
+             const real_t elMat_7_0 = q_acc_7_0;
+             const real_t elMat_7_1 = q_acc_7_1;
+             const real_t elMat_7_2 = q_acc_7_2;
+             const real_t elMat_7_3 = q_acc_7_3;
+             const real_t elMat_7_4 = q_acc_7_4;
+             const real_t elMat_7_5 = q_acc_7_5;
+             const real_t elMat_7_6 = q_acc_7_6;
+             const real_t elMat_7_7 = q_acc_7_7;
+             const real_t elMat_7_8 = q_acc_7_8;
+             const real_t elMat_7_9 = q_acc_7_9;
+             const real_t elMat_8_0 = q_acc_8_0;
+             const real_t elMat_8_1 = q_acc_8_1;
+             const real_t elMat_8_2 = q_acc_8_2;
+             const real_t elMat_8_3 = q_acc_8_3;
+             const real_t elMat_8_4 = q_acc_8_4;
+             const real_t elMat_8_5 = q_acc_8_5;
+             const real_t elMat_8_6 = q_acc_8_6;
+             const real_t elMat_8_7 = q_acc_8_7;
+             const real_t elMat_8_8 = q_acc_8_8;
+             const real_t elMat_8_9 = q_acc_8_9;
+             const real_t elMat_9_0 = q_acc_9_0;
+             const real_t elMat_9_1 = q_acc_9_1;
+             const real_t elMat_9_2 = q_acc_9_2;
+             const real_t elMat_9_3 = q_acc_9_3;
+             const real_t elMat_9_4 = q_acc_9_4;
+             const real_t elMat_9_5 = q_acc_9_5;
+             const real_t elMat_9_6 = q_acc_9_6;
+             const real_t elMat_9_7 = q_acc_9_7;
+             const real_t elMat_9_8 = q_acc_9_8;
+             const real_t elMat_9_9 = q_acc_9_9;
+         
+             std::vector< uint_t > _data_rowIdx( 10 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 100 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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[4] = ((uint64_t)(_data_dstEdge[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_rowIdx[5] = ((uint64_t)(_data_dstEdge[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_rowIdx[6] = ((uint64_t)(_data_dstEdge[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_rowIdx[7] = ((uint64_t)(_data_dstEdge[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_rowIdx[8] = ((uint64_t)(_data_dstEdge[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_rowIdx[9] = ((uint64_t)(_data_dstEdge[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[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));
+             _data_mat[40] = ((real_t)(elMat_4_0));
+             _data_mat[41] = ((real_t)(elMat_4_1));
+             _data_mat[42] = ((real_t)(elMat_4_2));
+             _data_mat[43] = ((real_t)(elMat_4_3));
+             _data_mat[44] = ((real_t)(elMat_4_4));
+             _data_mat[45] = ((real_t)(elMat_4_5));
+             _data_mat[46] = ((real_t)(elMat_4_6));
+             _data_mat[47] = ((real_t)(elMat_4_7));
+             _data_mat[48] = ((real_t)(elMat_4_8));
+             _data_mat[49] = ((real_t)(elMat_4_9));
+             _data_mat[50] = ((real_t)(elMat_5_0));
+             _data_mat[51] = ((real_t)(elMat_5_1));
+             _data_mat[52] = ((real_t)(elMat_5_2));
+             _data_mat[53] = ((real_t)(elMat_5_3));
+             _data_mat[54] = ((real_t)(elMat_5_4));
+             _data_mat[55] = ((real_t)(elMat_5_5));
+             _data_mat[56] = ((real_t)(elMat_5_6));
+             _data_mat[57] = ((real_t)(elMat_5_7));
+             _data_mat[58] = ((real_t)(elMat_5_8));
+             _data_mat[59] = ((real_t)(elMat_5_9));
+             _data_mat[60] = ((real_t)(elMat_6_0));
+             _data_mat[61] = ((real_t)(elMat_6_1));
+             _data_mat[62] = ((real_t)(elMat_6_2));
+             _data_mat[63] = ((real_t)(elMat_6_3));
+             _data_mat[64] = ((real_t)(elMat_6_4));
+             _data_mat[65] = ((real_t)(elMat_6_5));
+             _data_mat[66] = ((real_t)(elMat_6_6));
+             _data_mat[67] = ((real_t)(elMat_6_7));
+             _data_mat[68] = ((real_t)(elMat_6_8));
+             _data_mat[69] = ((real_t)(elMat_6_9));
+             _data_mat[70] = ((real_t)(elMat_7_0));
+             _data_mat[71] = ((real_t)(elMat_7_1));
+             _data_mat[72] = ((real_t)(elMat_7_2));
+             _data_mat[73] = ((real_t)(elMat_7_3));
+             _data_mat[74] = ((real_t)(elMat_7_4));
+             _data_mat[75] = ((real_t)(elMat_7_5));
+             _data_mat[76] = ((real_t)(elMat_7_6));
+             _data_mat[77] = ((real_t)(elMat_7_7));
+             _data_mat[78] = ((real_t)(elMat_7_8));
+             _data_mat[79] = ((real_t)(elMat_7_9));
+             _data_mat[80] = ((real_t)(elMat_8_0));
+             _data_mat[81] = ((real_t)(elMat_8_1));
+             _data_mat[82] = ((real_t)(elMat_8_2));
+             _data_mat[83] = ((real_t)(elMat_8_3));
+             _data_mat[84] = ((real_t)(elMat_8_4));
+             _data_mat[85] = ((real_t)(elMat_8_5));
+             _data_mat[86] = ((real_t)(elMat_8_6));
+             _data_mat[87] = ((real_t)(elMat_8_7));
+             _data_mat[88] = ((real_t)(elMat_8_8));
+             _data_mat[89] = ((real_t)(elMat_8_9));
+             _data_mat[90] = ((real_t)(elMat_9_0));
+             _data_mat[91] = ((real_t)(elMat_9_1));
+             _data_mat[92] = ((real_t)(elMat_9_2));
+             _data_mat[93] = ((real_t)(elMat_9_3));
+             _data_mat[94] = ((real_t)(elMat_9_4));
+             _data_mat[95] = ((real_t)(elMat_9_5));
+             _data_mat[96] = ((real_t)(elMat_9_6));
+             _data_mat[97] = ((real_t)(elMat_9_7));
+             _data_mat[98] = ((real_t)(elMat_9_8));
+             _data_mat[99] = ((real_t)(elMat_9_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 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_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 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_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 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_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 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP;
+       const real_t tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP);
+       const real_t jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP);
+       const real_t jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP);
+       const real_t jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP);
+       const real_t jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP);
+       {
+          /* CellType.GREEN_UP */
+          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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_GREEN_UP*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_28 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_0_1_GREEN_UP*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_0_2_GREEN_UP*tmp_qloop_24*tmp_qloop_27;
+                const real_t tmp_qloop_29 = tmp_qloop_25*tmp_qloop_26;
+                const real_t tmp_qloop_30 = tmp_qloop_28*tmp_qloop_29;
+                const real_t tmp_qloop_31 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_22*tmp_qloop_31 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_23*tmp_qloop_31 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_24*tmp_qloop_31;
+                const real_t tmp_qloop_33 = tmp_qloop_29*tmp_qloop_32;
+                const real_t tmp_qloop_34 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_22*tmp_qloop_34 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_23*tmp_qloop_34 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_24*tmp_qloop_34;
+                const real_t tmp_qloop_36 = tmp_qloop_29*tmp_qloop_35;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_38 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_40 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_41 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_42 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_43 = tmp_qloop_22*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_23*(tmp_qloop_39 + tmp_qloop_40) + tmp_qloop_24*(tmp_qloop_41 + tmp_qloop_42);
+                const real_t tmp_qloop_44 = tmp_qloop_29*tmp_qloop_43;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_47 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_48 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_49 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_50 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_51 = tmp_qloop_22*(tmp_qloop_45 + tmp_qloop_46) + tmp_qloop_23*(tmp_qloop_47 + tmp_qloop_48) + tmp_qloop_24*(tmp_qloop_49 + tmp_qloop_50);
+                const real_t tmp_qloop_52 = tmp_qloop_29*tmp_qloop_51;
+                const real_t tmp_qloop_53 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_54 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_55 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_56 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_57 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_58 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_59 = tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58);
+                const real_t tmp_qloop_60 = tmp_qloop_29*tmp_qloop_59;
+                const real_t tmp_qloop_61 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_62 = tmp_qloop_22*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_61 - tmp_qloop_38 - tmp_qloop_46) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_61 - tmp_qloop_40 - tmp_qloop_48) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_61 - tmp_qloop_42 - tmp_qloop_50);
+                const real_t tmp_qloop_63 = tmp_qloop_29*tmp_qloop_62;
+                const real_t tmp_qloop_64 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_65 = -tmp_qloop_1 - tmp_qloop_64 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_66 = tmp_qloop_22*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_65 - tmp_qloop_37 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_65 - tmp_qloop_39 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_65 - tmp_qloop_41 - tmp_qloop_58);
+                const real_t tmp_qloop_67 = tmp_qloop_29*tmp_qloop_66;
+                const real_t tmp_qloop_68 = -tmp_qloop_2 - tmp_qloop_64 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_69 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_53) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_55) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_57);
+                const real_t tmp_qloop_70 = tmp_qloop_29*tmp_qloop_69;
+                const real_t tmp_qloop_71 = tmp_qloop_26*tmp_qloop_28;
+                const real_t tmp_qloop_72 = tmp_qloop_32*tmp_qloop_71;
+                const real_t tmp_qloop_73 = tmp_qloop_35*tmp_qloop_71;
+                const real_t tmp_qloop_74 = tmp_qloop_43*tmp_qloop_71;
+                const real_t tmp_qloop_75 = tmp_qloop_51*tmp_qloop_71;
+                const real_t tmp_qloop_76 = tmp_qloop_59*tmp_qloop_71;
+                const real_t tmp_qloop_77 = tmp_qloop_62*tmp_qloop_71;
+                const real_t tmp_qloop_78 = tmp_qloop_66*tmp_qloop_71;
+                const real_t tmp_qloop_79 = tmp_qloop_69*tmp_qloop_71;
+                const real_t tmp_qloop_80 = tmp_qloop_26*tmp_qloop_32;
+                const real_t tmp_qloop_81 = tmp_qloop_35*tmp_qloop_80;
+                const real_t tmp_qloop_82 = tmp_qloop_43*tmp_qloop_80;
+                const real_t tmp_qloop_83 = tmp_qloop_51*tmp_qloop_80;
+                const real_t tmp_qloop_84 = tmp_qloop_59*tmp_qloop_80;
+                const real_t tmp_qloop_85 = tmp_qloop_62*tmp_qloop_80;
+                const real_t tmp_qloop_86 = tmp_qloop_66*tmp_qloop_80;
+                const real_t tmp_qloop_87 = tmp_qloop_69*tmp_qloop_80;
+                const real_t tmp_qloop_88 = tmp_qloop_26*tmp_qloop_35;
+                const real_t tmp_qloop_89 = tmp_qloop_43*tmp_qloop_88;
+                const real_t tmp_qloop_90 = tmp_qloop_51*tmp_qloop_88;
+                const real_t tmp_qloop_91 = tmp_qloop_59*tmp_qloop_88;
+                const real_t tmp_qloop_92 = tmp_qloop_62*tmp_qloop_88;
+                const real_t tmp_qloop_93 = tmp_qloop_66*tmp_qloop_88;
+                const real_t tmp_qloop_94 = tmp_qloop_69*tmp_qloop_88;
+                const real_t tmp_qloop_95 = tmp_qloop_26*tmp_qloop_43;
+                const real_t tmp_qloop_96 = tmp_qloop_51*tmp_qloop_95;
+                const real_t tmp_qloop_97 = tmp_qloop_59*tmp_qloop_95;
+                const real_t tmp_qloop_98 = tmp_qloop_62*tmp_qloop_95;
+                const real_t tmp_qloop_99 = tmp_qloop_66*tmp_qloop_95;
+                const real_t tmp_qloop_100 = tmp_qloop_69*tmp_qloop_95;
+                const real_t tmp_qloop_101 = tmp_qloop_26*tmp_qloop_51;
+                const real_t tmp_qloop_102 = tmp_qloop_101*tmp_qloop_59;
+                const real_t tmp_qloop_103 = tmp_qloop_101*tmp_qloop_62;
+                const real_t tmp_qloop_104 = tmp_qloop_101*tmp_qloop_66;
+                const real_t tmp_qloop_105 = tmp_qloop_101*tmp_qloop_69;
+                const real_t tmp_qloop_106 = tmp_qloop_26*tmp_qloop_59;
+                const real_t tmp_qloop_107 = tmp_qloop_106*tmp_qloop_62;
+                const real_t tmp_qloop_108 = tmp_qloop_106*tmp_qloop_66;
+                const real_t tmp_qloop_109 = tmp_qloop_106*tmp_qloop_69;
+                const real_t tmp_qloop_110 = tmp_qloop_26*tmp_qloop_62;
+                const real_t tmp_qloop_111 = tmp_qloop_110*tmp_qloop_66;
+                const real_t tmp_qloop_112 = tmp_qloop_110*tmp_qloop_69;
+                const real_t tmp_qloop_113 = tmp_qloop_26*tmp_qloop_66*tmp_qloop_69;
+                const real_t q_tmp_0_0 = (tmp_qloop_25*tmp_qloop_25)*tmp_qloop_26;
+                const real_t q_tmp_0_1 = tmp_qloop_30;
+                const real_t q_tmp_0_2 = tmp_qloop_33;
+                const real_t q_tmp_0_3 = tmp_qloop_36;
+                const real_t q_tmp_0_4 = tmp_qloop_44;
+                const real_t q_tmp_0_5 = tmp_qloop_52;
+                const real_t q_tmp_0_6 = tmp_qloop_60;
+                const real_t q_tmp_0_7 = tmp_qloop_63;
+                const real_t q_tmp_0_8 = tmp_qloop_67;
+                const real_t q_tmp_0_9 = tmp_qloop_70;
+                const real_t q_tmp_1_0 = tmp_qloop_30;
+                const real_t q_tmp_1_1 = tmp_qloop_26*(tmp_qloop_28*tmp_qloop_28);
+                const real_t q_tmp_1_2 = tmp_qloop_72;
+                const real_t q_tmp_1_3 = tmp_qloop_73;
+                const real_t q_tmp_1_4 = tmp_qloop_74;
+                const real_t q_tmp_1_5 = tmp_qloop_75;
+                const real_t q_tmp_1_6 = tmp_qloop_76;
+                const real_t q_tmp_1_7 = tmp_qloop_77;
+                const real_t q_tmp_1_8 = tmp_qloop_78;
+                const real_t q_tmp_1_9 = tmp_qloop_79;
+                const real_t q_tmp_2_0 = tmp_qloop_33;
+                const real_t q_tmp_2_1 = tmp_qloop_72;
+                const real_t q_tmp_2_2 = tmp_qloop_26*(tmp_qloop_32*tmp_qloop_32);
+                const real_t q_tmp_2_3 = tmp_qloop_81;
+                const real_t q_tmp_2_4 = tmp_qloop_82;
+                const real_t q_tmp_2_5 = tmp_qloop_83;
+                const real_t q_tmp_2_6 = tmp_qloop_84;
+                const real_t q_tmp_2_7 = tmp_qloop_85;
+                const real_t q_tmp_2_8 = tmp_qloop_86;
+                const real_t q_tmp_2_9 = tmp_qloop_87;
+                const real_t q_tmp_3_0 = tmp_qloop_36;
+                const real_t q_tmp_3_1 = tmp_qloop_73;
+                const real_t q_tmp_3_2 = tmp_qloop_81;
+                const real_t q_tmp_3_3 = tmp_qloop_26*(tmp_qloop_35*tmp_qloop_35);
+                const real_t q_tmp_3_4 = tmp_qloop_89;
+                const real_t q_tmp_3_5 = tmp_qloop_90;
+                const real_t q_tmp_3_6 = tmp_qloop_91;
+                const real_t q_tmp_3_7 = tmp_qloop_92;
+                const real_t q_tmp_3_8 = tmp_qloop_93;
+                const real_t q_tmp_3_9 = tmp_qloop_94;
+                const real_t q_tmp_4_0 = tmp_qloop_44;
+                const real_t q_tmp_4_1 = tmp_qloop_74;
+                const real_t q_tmp_4_2 = tmp_qloop_82;
+                const real_t q_tmp_4_3 = tmp_qloop_89;
+                const real_t q_tmp_4_4 = tmp_qloop_26*(tmp_qloop_43*tmp_qloop_43);
+                const real_t q_tmp_4_5 = tmp_qloop_96;
+                const real_t q_tmp_4_6 = tmp_qloop_97;
+                const real_t q_tmp_4_7 = tmp_qloop_98;
+                const real_t q_tmp_4_8 = tmp_qloop_99;
+                const real_t q_tmp_4_9 = tmp_qloop_100;
+                const real_t q_tmp_5_0 = tmp_qloop_52;
+                const real_t q_tmp_5_1 = tmp_qloop_75;
+                const real_t q_tmp_5_2 = tmp_qloop_83;
+                const real_t q_tmp_5_3 = tmp_qloop_90;
+                const real_t q_tmp_5_4 = tmp_qloop_96;
+                const real_t q_tmp_5_5 = tmp_qloop_26*(tmp_qloop_51*tmp_qloop_51);
+                const real_t q_tmp_5_6 = tmp_qloop_102;
+                const real_t q_tmp_5_7 = tmp_qloop_103;
+                const real_t q_tmp_5_8 = tmp_qloop_104;
+                const real_t q_tmp_5_9 = tmp_qloop_105;
+                const real_t q_tmp_6_0 = tmp_qloop_60;
+                const real_t q_tmp_6_1 = tmp_qloop_76;
+                const real_t q_tmp_6_2 = tmp_qloop_84;
+                const real_t q_tmp_6_3 = tmp_qloop_91;
+                const real_t q_tmp_6_4 = tmp_qloop_97;
+                const real_t q_tmp_6_5 = tmp_qloop_102;
+                const real_t q_tmp_6_6 = tmp_qloop_26*(tmp_qloop_59*tmp_qloop_59);
+                const real_t q_tmp_6_7 = tmp_qloop_107;
+                const real_t q_tmp_6_8 = tmp_qloop_108;
+                const real_t q_tmp_6_9 = tmp_qloop_109;
+                const real_t q_tmp_7_0 = tmp_qloop_63;
+                const real_t q_tmp_7_1 = tmp_qloop_77;
+                const real_t q_tmp_7_2 = tmp_qloop_85;
+                const real_t q_tmp_7_3 = tmp_qloop_92;
+                const real_t q_tmp_7_4 = tmp_qloop_98;
+                const real_t q_tmp_7_5 = tmp_qloop_103;
+                const real_t q_tmp_7_6 = tmp_qloop_107;
+                const real_t q_tmp_7_7 = tmp_qloop_26*(tmp_qloop_62*tmp_qloop_62);
+                const real_t q_tmp_7_8 = tmp_qloop_111;
+                const real_t q_tmp_7_9 = tmp_qloop_112;
+                const real_t q_tmp_8_0 = tmp_qloop_67;
+                const real_t q_tmp_8_1 = tmp_qloop_78;
+                const real_t q_tmp_8_2 = tmp_qloop_86;
+                const real_t q_tmp_8_3 = tmp_qloop_93;
+                const real_t q_tmp_8_4 = tmp_qloop_99;
+                const real_t q_tmp_8_5 = tmp_qloop_104;
+                const real_t q_tmp_8_6 = tmp_qloop_108;
+                const real_t q_tmp_8_7 = tmp_qloop_111;
+                const real_t q_tmp_8_8 = tmp_qloop_26*(tmp_qloop_66*tmp_qloop_66);
+                const real_t q_tmp_8_9 = tmp_qloop_113;
+                const real_t q_tmp_9_0 = tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_79;
+                const real_t q_tmp_9_2 = tmp_qloop_87;
+                const real_t q_tmp_9_3 = tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_qloop_100;
+                const real_t q_tmp_9_5 = tmp_qloop_105;
+                const real_t q_tmp_9_6 = tmp_qloop_109;
+                const real_t q_tmp_9_7 = tmp_qloop_112;
+                const real_t q_tmp_9_8 = tmp_qloop_113;
+                const real_t q_tmp_9_9 = tmp_qloop_26*(tmp_qloop_69*tmp_qloop_69);
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMat_4_0 = q_acc_4_0;
+             const real_t elMat_4_1 = q_acc_4_1;
+             const real_t elMat_4_2 = q_acc_4_2;
+             const real_t elMat_4_3 = q_acc_4_3;
+             const real_t elMat_4_4 = q_acc_4_4;
+             const real_t elMat_4_5 = q_acc_4_5;
+             const real_t elMat_4_6 = q_acc_4_6;
+             const real_t elMat_4_7 = q_acc_4_7;
+             const real_t elMat_4_8 = q_acc_4_8;
+             const real_t elMat_4_9 = q_acc_4_9;
+             const real_t elMat_5_0 = q_acc_5_0;
+             const real_t elMat_5_1 = q_acc_5_1;
+             const real_t elMat_5_2 = q_acc_5_2;
+             const real_t elMat_5_3 = q_acc_5_3;
+             const real_t elMat_5_4 = q_acc_5_4;
+             const real_t elMat_5_5 = q_acc_5_5;
+             const real_t elMat_5_6 = q_acc_5_6;
+             const real_t elMat_5_7 = q_acc_5_7;
+             const real_t elMat_5_8 = q_acc_5_8;
+             const real_t elMat_5_9 = q_acc_5_9;
+             const real_t elMat_6_0 = q_acc_6_0;
+             const real_t elMat_6_1 = q_acc_6_1;
+             const real_t elMat_6_2 = q_acc_6_2;
+             const real_t elMat_6_3 = q_acc_6_3;
+             const real_t elMat_6_4 = q_acc_6_4;
+             const real_t elMat_6_5 = q_acc_6_5;
+             const real_t elMat_6_6 = q_acc_6_6;
+             const real_t elMat_6_7 = q_acc_6_7;
+             const real_t elMat_6_8 = q_acc_6_8;
+             const real_t elMat_6_9 = q_acc_6_9;
+             const real_t elMat_7_0 = q_acc_7_0;
+             const real_t elMat_7_1 = q_acc_7_1;
+             const real_t elMat_7_2 = q_acc_7_2;
+             const real_t elMat_7_3 = q_acc_7_3;
+             const real_t elMat_7_4 = q_acc_7_4;
+             const real_t elMat_7_5 = q_acc_7_5;
+             const real_t elMat_7_6 = q_acc_7_6;
+             const real_t elMat_7_7 = q_acc_7_7;
+             const real_t elMat_7_8 = q_acc_7_8;
+             const real_t elMat_7_9 = q_acc_7_9;
+             const real_t elMat_8_0 = q_acc_8_0;
+             const real_t elMat_8_1 = q_acc_8_1;
+             const real_t elMat_8_2 = q_acc_8_2;
+             const real_t elMat_8_3 = q_acc_8_3;
+             const real_t elMat_8_4 = q_acc_8_4;
+             const real_t elMat_8_5 = q_acc_8_5;
+             const real_t elMat_8_6 = q_acc_8_6;
+             const real_t elMat_8_7 = q_acc_8_7;
+             const real_t elMat_8_8 = q_acc_8_8;
+             const real_t elMat_8_9 = q_acc_8_9;
+             const real_t elMat_9_0 = q_acc_9_0;
+             const real_t elMat_9_1 = q_acc_9_1;
+             const real_t elMat_9_2 = q_acc_9_2;
+             const real_t elMat_9_3 = q_acc_9_3;
+             const real_t elMat_9_4 = q_acc_9_4;
+             const real_t elMat_9_5 = q_acc_9_5;
+             const real_t elMat_9_6 = q_acc_9_6;
+             const real_t elMat_9_7 = q_acc_9_7;
+             const real_t elMat_9_8 = q_acc_9_8;
+             const real_t elMat_9_9 = q_acc_9_9;
+         
+             std::vector< uint_t > _data_rowIdx( 10 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 100 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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[4] = ((uint64_t)(_data_dstEdge[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_rowIdx[5] = ((uint64_t)(_data_dstEdge[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_rowIdx[6] = ((uint64_t)(_data_dstEdge[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_rowIdx[7] = ((uint64_t)(_data_dstEdge[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_rowIdx[8] = ((uint64_t)(_data_dstEdge[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_rowIdx[9] = ((uint64_t)(_data_dstEdge[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[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));
+             _data_mat[40] = ((real_t)(elMat_4_0));
+             _data_mat[41] = ((real_t)(elMat_4_1));
+             _data_mat[42] = ((real_t)(elMat_4_2));
+             _data_mat[43] = ((real_t)(elMat_4_3));
+             _data_mat[44] = ((real_t)(elMat_4_4));
+             _data_mat[45] = ((real_t)(elMat_4_5));
+             _data_mat[46] = ((real_t)(elMat_4_6));
+             _data_mat[47] = ((real_t)(elMat_4_7));
+             _data_mat[48] = ((real_t)(elMat_4_8));
+             _data_mat[49] = ((real_t)(elMat_4_9));
+             _data_mat[50] = ((real_t)(elMat_5_0));
+             _data_mat[51] = ((real_t)(elMat_5_1));
+             _data_mat[52] = ((real_t)(elMat_5_2));
+             _data_mat[53] = ((real_t)(elMat_5_3));
+             _data_mat[54] = ((real_t)(elMat_5_4));
+             _data_mat[55] = ((real_t)(elMat_5_5));
+             _data_mat[56] = ((real_t)(elMat_5_6));
+             _data_mat[57] = ((real_t)(elMat_5_7));
+             _data_mat[58] = ((real_t)(elMat_5_8));
+             _data_mat[59] = ((real_t)(elMat_5_9));
+             _data_mat[60] = ((real_t)(elMat_6_0));
+             _data_mat[61] = ((real_t)(elMat_6_1));
+             _data_mat[62] = ((real_t)(elMat_6_2));
+             _data_mat[63] = ((real_t)(elMat_6_3));
+             _data_mat[64] = ((real_t)(elMat_6_4));
+             _data_mat[65] = ((real_t)(elMat_6_5));
+             _data_mat[66] = ((real_t)(elMat_6_6));
+             _data_mat[67] = ((real_t)(elMat_6_7));
+             _data_mat[68] = ((real_t)(elMat_6_8));
+             _data_mat[69] = ((real_t)(elMat_6_9));
+             _data_mat[70] = ((real_t)(elMat_7_0));
+             _data_mat[71] = ((real_t)(elMat_7_1));
+             _data_mat[72] = ((real_t)(elMat_7_2));
+             _data_mat[73] = ((real_t)(elMat_7_3));
+             _data_mat[74] = ((real_t)(elMat_7_4));
+             _data_mat[75] = ((real_t)(elMat_7_5));
+             _data_mat[76] = ((real_t)(elMat_7_6));
+             _data_mat[77] = ((real_t)(elMat_7_7));
+             _data_mat[78] = ((real_t)(elMat_7_8));
+             _data_mat[79] = ((real_t)(elMat_7_9));
+             _data_mat[80] = ((real_t)(elMat_8_0));
+             _data_mat[81] = ((real_t)(elMat_8_1));
+             _data_mat[82] = ((real_t)(elMat_8_2));
+             _data_mat[83] = ((real_t)(elMat_8_3));
+             _data_mat[84] = ((real_t)(elMat_8_4));
+             _data_mat[85] = ((real_t)(elMat_8_5));
+             _data_mat[86] = ((real_t)(elMat_8_6));
+             _data_mat[87] = ((real_t)(elMat_8_7));
+             _data_mat[88] = ((real_t)(elMat_8_8));
+             _data_mat[89] = ((real_t)(elMat_8_9));
+             _data_mat[90] = ((real_t)(elMat_9_0));
+             _data_mat[91] = ((real_t)(elMat_9_1));
+             _data_mat[92] = ((real_t)(elMat_9_2));
+             _data_mat[93] = ((real_t)(elMat_9_3));
+             _data_mat[94] = ((real_t)(elMat_9_4));
+             _data_mat[95] = ((real_t)(elMat_9_5));
+             _data_mat[96] = ((real_t)(elMat_9_6));
+             _data_mat[97] = ((real_t)(elMat_9_7));
+             _data_mat[98] = ((real_t)(elMat_9_8));
+             _data_mat[99] = ((real_t)(elMat_9_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 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_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 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN;
+       const real_t tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN);
+       const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN);
+       const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN);
+       const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN);
+       const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN);
+       {
+          /* CellType.GREEN_DOWN */
+          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 cp_times_delta_dof_0 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_1 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_2 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_3 = _data_cp_times_deltaVertex[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 cp_times_delta_dof_4 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_5 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_6 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_7 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_8 = _data_cp_times_deltaEdge[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 cp_times_delta_dof_9 = _data_cp_times_deltaEdge[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 ux_dof_0 = _data_uxVertex[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 ux_dof_1 = _data_uxVertex[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 ux_dof_2 = _data_uxVertex[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 ux_dof_3 = _data_uxVertex[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 ux_dof_4 = _data_uxEdge[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 ux_dof_5 = _data_uxEdge[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 ux_dof_6 = _data_uxEdge[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 ux_dof_7 = _data_uxEdge[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 ux_dof_8 = _data_uxEdge[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 ux_dof_9 = _data_uxEdge[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 uy_dof_0 = _data_uyVertex[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 uy_dof_1 = _data_uyVertex[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 uy_dof_2 = _data_uyVertex[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 uy_dof_3 = _data_uyVertex[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 uy_dof_4 = _data_uyEdge[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 uy_dof_5 = _data_uyEdge[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 uy_dof_6 = _data_uyEdge[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 uy_dof_7 = _data_uyEdge[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 uy_dof_8 = _data_uyEdge[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 uy_dof_9 = _data_uyEdge[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 uz_dof_0 = _data_uzVertex[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 uz_dof_1 = _data_uzVertex[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 uz_dof_2 = _data_uzVertex[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 uz_dof_3 = _data_uzVertex[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 uz_dof_4 = _data_uzEdge[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 uz_dof_5 = _data_uzEdge[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 uz_dof_6 = _data_uzEdge[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 uz_dof_7 = _data_uzEdge[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 uz_dof_8 = _data_uzEdge[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 uz_dof_9 = _data_uzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*ux_dof_1 + tmp_qloop_13*ux_dof_2 + tmp_qloop_16*ux_dof_3 + tmp_qloop_17*ux_dof_7 + tmp_qloop_18*ux_dof_8 + tmp_qloop_20*ux_dof_9 + tmp_qloop_21*ux_dof_0 + tmp_qloop_5*ux_dof_6 + tmp_qloop_6*ux_dof_5 + tmp_qloop_7*ux_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*uy_dof_1 + tmp_qloop_13*uy_dof_2 + tmp_qloop_16*uy_dof_3 + tmp_qloop_17*uy_dof_7 + tmp_qloop_18*uy_dof_8 + tmp_qloop_20*uy_dof_9 + tmp_qloop_21*uy_dof_0 + tmp_qloop_5*uy_dof_6 + tmp_qloop_6*uy_dof_5 + tmp_qloop_7*uy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*uz_dof_1 + tmp_qloop_13*uz_dof_2 + tmp_qloop_16*uz_dof_3 + tmp_qloop_17*uz_dof_7 + tmp_qloop_18*uz_dof_8 + tmp_qloop_20*uz_dof_9 + tmp_qloop_21*uz_dof_0 + tmp_qloop_5*uz_dof_6 + tmp_qloop_6*uz_dof_5 + tmp_qloop_7*uz_dof_4;
+                const real_t tmp_qloop_25 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_4);
+                const real_t tmp_qloop_26 = abs_det_jac_affine_GREEN_DOWN*(cp_times_delta_dof_0*tmp_qloop_21 + cp_times_delta_dof_1*tmp_qloop_10 + cp_times_delta_dof_2*tmp_qloop_13 + cp_times_delta_dof_3*tmp_qloop_16 + cp_times_delta_dof_4*tmp_qloop_7 + cp_times_delta_dof_5*tmp_qloop_6 + cp_times_delta_dof_6*tmp_qloop_5 + cp_times_delta_dof_7*tmp_qloop_17 + cp_times_delta_dof_8*tmp_qloop_18 + cp_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_27 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_28 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_27 + jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_27 + jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_27;
+                const real_t tmp_qloop_29 = tmp_qloop_25*tmp_qloop_26;
+                const real_t tmp_qloop_30 = tmp_qloop_28*tmp_qloop_29;
+                const real_t tmp_qloop_31 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_32 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_31 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_31 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_31;
+                const real_t tmp_qloop_33 = tmp_qloop_29*tmp_qloop_32;
+                const real_t tmp_qloop_34 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_35 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_34 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_34 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_34;
+                const real_t tmp_qloop_36 = tmp_qloop_29*tmp_qloop_35;
+                const real_t tmp_qloop_37 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_38 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_39 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_40 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_41 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_42 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_43 = tmp_qloop_22*(tmp_qloop_37 + tmp_qloop_38) + tmp_qloop_23*(tmp_qloop_39 + tmp_qloop_40) + tmp_qloop_24*(tmp_qloop_41 + tmp_qloop_42);
+                const real_t tmp_qloop_44 = tmp_qloop_29*tmp_qloop_43;
+                const real_t tmp_qloop_45 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_46 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_47 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_48 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_49 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_50 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_51 = tmp_qloop_22*(tmp_qloop_45 + tmp_qloop_46) + tmp_qloop_23*(tmp_qloop_47 + tmp_qloop_48) + tmp_qloop_24*(tmp_qloop_49 + tmp_qloop_50);
+                const real_t tmp_qloop_52 = tmp_qloop_29*tmp_qloop_51;
+                const real_t tmp_qloop_53 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_54 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_55 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_56 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_57 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_58 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_59 = tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58);
+                const real_t tmp_qloop_60 = tmp_qloop_29*tmp_qloop_59;
+                const real_t tmp_qloop_61 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_62 = tmp_qloop_22*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_61 - tmp_qloop_38 - tmp_qloop_46) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_61 - tmp_qloop_40 - tmp_qloop_48) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_61 - tmp_qloop_42 - tmp_qloop_50);
+                const real_t tmp_qloop_63 = tmp_qloop_29*tmp_qloop_62;
+                const real_t tmp_qloop_64 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_65 = -tmp_qloop_1 - tmp_qloop_64 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_66 = tmp_qloop_22*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_65 - tmp_qloop_37 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_65 - tmp_qloop_39 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_65 - tmp_qloop_41 - tmp_qloop_58);
+                const real_t tmp_qloop_67 = tmp_qloop_29*tmp_qloop_66;
+                const real_t tmp_qloop_68 = -tmp_qloop_2 - tmp_qloop_64 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_69 = tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_53) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_55) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_57);
+                const real_t tmp_qloop_70 = tmp_qloop_29*tmp_qloop_69;
+                const real_t tmp_qloop_71 = tmp_qloop_26*tmp_qloop_28;
+                const real_t tmp_qloop_72 = tmp_qloop_32*tmp_qloop_71;
+                const real_t tmp_qloop_73 = tmp_qloop_35*tmp_qloop_71;
+                const real_t tmp_qloop_74 = tmp_qloop_43*tmp_qloop_71;
+                const real_t tmp_qloop_75 = tmp_qloop_51*tmp_qloop_71;
+                const real_t tmp_qloop_76 = tmp_qloop_59*tmp_qloop_71;
+                const real_t tmp_qloop_77 = tmp_qloop_62*tmp_qloop_71;
+                const real_t tmp_qloop_78 = tmp_qloop_66*tmp_qloop_71;
+                const real_t tmp_qloop_79 = tmp_qloop_69*tmp_qloop_71;
+                const real_t tmp_qloop_80 = tmp_qloop_26*tmp_qloop_32;
+                const real_t tmp_qloop_81 = tmp_qloop_35*tmp_qloop_80;
+                const real_t tmp_qloop_82 = tmp_qloop_43*tmp_qloop_80;
+                const real_t tmp_qloop_83 = tmp_qloop_51*tmp_qloop_80;
+                const real_t tmp_qloop_84 = tmp_qloop_59*tmp_qloop_80;
+                const real_t tmp_qloop_85 = tmp_qloop_62*tmp_qloop_80;
+                const real_t tmp_qloop_86 = tmp_qloop_66*tmp_qloop_80;
+                const real_t tmp_qloop_87 = tmp_qloop_69*tmp_qloop_80;
+                const real_t tmp_qloop_88 = tmp_qloop_26*tmp_qloop_35;
+                const real_t tmp_qloop_89 = tmp_qloop_43*tmp_qloop_88;
+                const real_t tmp_qloop_90 = tmp_qloop_51*tmp_qloop_88;
+                const real_t tmp_qloop_91 = tmp_qloop_59*tmp_qloop_88;
+                const real_t tmp_qloop_92 = tmp_qloop_62*tmp_qloop_88;
+                const real_t tmp_qloop_93 = tmp_qloop_66*tmp_qloop_88;
+                const real_t tmp_qloop_94 = tmp_qloop_69*tmp_qloop_88;
+                const real_t tmp_qloop_95 = tmp_qloop_26*tmp_qloop_43;
+                const real_t tmp_qloop_96 = tmp_qloop_51*tmp_qloop_95;
+                const real_t tmp_qloop_97 = tmp_qloop_59*tmp_qloop_95;
+                const real_t tmp_qloop_98 = tmp_qloop_62*tmp_qloop_95;
+                const real_t tmp_qloop_99 = tmp_qloop_66*tmp_qloop_95;
+                const real_t tmp_qloop_100 = tmp_qloop_69*tmp_qloop_95;
+                const real_t tmp_qloop_101 = tmp_qloop_26*tmp_qloop_51;
+                const real_t tmp_qloop_102 = tmp_qloop_101*tmp_qloop_59;
+                const real_t tmp_qloop_103 = tmp_qloop_101*tmp_qloop_62;
+                const real_t tmp_qloop_104 = tmp_qloop_101*tmp_qloop_66;
+                const real_t tmp_qloop_105 = tmp_qloop_101*tmp_qloop_69;
+                const real_t tmp_qloop_106 = tmp_qloop_26*tmp_qloop_59;
+                const real_t tmp_qloop_107 = tmp_qloop_106*tmp_qloop_62;
+                const real_t tmp_qloop_108 = tmp_qloop_106*tmp_qloop_66;
+                const real_t tmp_qloop_109 = tmp_qloop_106*tmp_qloop_69;
+                const real_t tmp_qloop_110 = tmp_qloop_26*tmp_qloop_62;
+                const real_t tmp_qloop_111 = tmp_qloop_110*tmp_qloop_66;
+                const real_t tmp_qloop_112 = tmp_qloop_110*tmp_qloop_69;
+                const real_t tmp_qloop_113 = tmp_qloop_26*tmp_qloop_66*tmp_qloop_69;
+                const real_t q_tmp_0_0 = (tmp_qloop_25*tmp_qloop_25)*tmp_qloop_26;
+                const real_t q_tmp_0_1 = tmp_qloop_30;
+                const real_t q_tmp_0_2 = tmp_qloop_33;
+                const real_t q_tmp_0_3 = tmp_qloop_36;
+                const real_t q_tmp_0_4 = tmp_qloop_44;
+                const real_t q_tmp_0_5 = tmp_qloop_52;
+                const real_t q_tmp_0_6 = tmp_qloop_60;
+                const real_t q_tmp_0_7 = tmp_qloop_63;
+                const real_t q_tmp_0_8 = tmp_qloop_67;
+                const real_t q_tmp_0_9 = tmp_qloop_70;
+                const real_t q_tmp_1_0 = tmp_qloop_30;
+                const real_t q_tmp_1_1 = tmp_qloop_26*(tmp_qloop_28*tmp_qloop_28);
+                const real_t q_tmp_1_2 = tmp_qloop_72;
+                const real_t q_tmp_1_3 = tmp_qloop_73;
+                const real_t q_tmp_1_4 = tmp_qloop_74;
+                const real_t q_tmp_1_5 = tmp_qloop_75;
+                const real_t q_tmp_1_6 = tmp_qloop_76;
+                const real_t q_tmp_1_7 = tmp_qloop_77;
+                const real_t q_tmp_1_8 = tmp_qloop_78;
+                const real_t q_tmp_1_9 = tmp_qloop_79;
+                const real_t q_tmp_2_0 = tmp_qloop_33;
+                const real_t q_tmp_2_1 = tmp_qloop_72;
+                const real_t q_tmp_2_2 = tmp_qloop_26*(tmp_qloop_32*tmp_qloop_32);
+                const real_t q_tmp_2_3 = tmp_qloop_81;
+                const real_t q_tmp_2_4 = tmp_qloop_82;
+                const real_t q_tmp_2_5 = tmp_qloop_83;
+                const real_t q_tmp_2_6 = tmp_qloop_84;
+                const real_t q_tmp_2_7 = tmp_qloop_85;
+                const real_t q_tmp_2_8 = tmp_qloop_86;
+                const real_t q_tmp_2_9 = tmp_qloop_87;
+                const real_t q_tmp_3_0 = tmp_qloop_36;
+                const real_t q_tmp_3_1 = tmp_qloop_73;
+                const real_t q_tmp_3_2 = tmp_qloop_81;
+                const real_t q_tmp_3_3 = tmp_qloop_26*(tmp_qloop_35*tmp_qloop_35);
+                const real_t q_tmp_3_4 = tmp_qloop_89;
+                const real_t q_tmp_3_5 = tmp_qloop_90;
+                const real_t q_tmp_3_6 = tmp_qloop_91;
+                const real_t q_tmp_3_7 = tmp_qloop_92;
+                const real_t q_tmp_3_8 = tmp_qloop_93;
+                const real_t q_tmp_3_9 = tmp_qloop_94;
+                const real_t q_tmp_4_0 = tmp_qloop_44;
+                const real_t q_tmp_4_1 = tmp_qloop_74;
+                const real_t q_tmp_4_2 = tmp_qloop_82;
+                const real_t q_tmp_4_3 = tmp_qloop_89;
+                const real_t q_tmp_4_4 = tmp_qloop_26*(tmp_qloop_43*tmp_qloop_43);
+                const real_t q_tmp_4_5 = tmp_qloop_96;
+                const real_t q_tmp_4_6 = tmp_qloop_97;
+                const real_t q_tmp_4_7 = tmp_qloop_98;
+                const real_t q_tmp_4_8 = tmp_qloop_99;
+                const real_t q_tmp_4_9 = tmp_qloop_100;
+                const real_t q_tmp_5_0 = tmp_qloop_52;
+                const real_t q_tmp_5_1 = tmp_qloop_75;
+                const real_t q_tmp_5_2 = tmp_qloop_83;
+                const real_t q_tmp_5_3 = tmp_qloop_90;
+                const real_t q_tmp_5_4 = tmp_qloop_96;
+                const real_t q_tmp_5_5 = tmp_qloop_26*(tmp_qloop_51*tmp_qloop_51);
+                const real_t q_tmp_5_6 = tmp_qloop_102;
+                const real_t q_tmp_5_7 = tmp_qloop_103;
+                const real_t q_tmp_5_8 = tmp_qloop_104;
+                const real_t q_tmp_5_9 = tmp_qloop_105;
+                const real_t q_tmp_6_0 = tmp_qloop_60;
+                const real_t q_tmp_6_1 = tmp_qloop_76;
+                const real_t q_tmp_6_2 = tmp_qloop_84;
+                const real_t q_tmp_6_3 = tmp_qloop_91;
+                const real_t q_tmp_6_4 = tmp_qloop_97;
+                const real_t q_tmp_6_5 = tmp_qloop_102;
+                const real_t q_tmp_6_6 = tmp_qloop_26*(tmp_qloop_59*tmp_qloop_59);
+                const real_t q_tmp_6_7 = tmp_qloop_107;
+                const real_t q_tmp_6_8 = tmp_qloop_108;
+                const real_t q_tmp_6_9 = tmp_qloop_109;
+                const real_t q_tmp_7_0 = tmp_qloop_63;
+                const real_t q_tmp_7_1 = tmp_qloop_77;
+                const real_t q_tmp_7_2 = tmp_qloop_85;
+                const real_t q_tmp_7_3 = tmp_qloop_92;
+                const real_t q_tmp_7_4 = tmp_qloop_98;
+                const real_t q_tmp_7_5 = tmp_qloop_103;
+                const real_t q_tmp_7_6 = tmp_qloop_107;
+                const real_t q_tmp_7_7 = tmp_qloop_26*(tmp_qloop_62*tmp_qloop_62);
+                const real_t q_tmp_7_8 = tmp_qloop_111;
+                const real_t q_tmp_7_9 = tmp_qloop_112;
+                const real_t q_tmp_8_0 = tmp_qloop_67;
+                const real_t q_tmp_8_1 = tmp_qloop_78;
+                const real_t q_tmp_8_2 = tmp_qloop_86;
+                const real_t q_tmp_8_3 = tmp_qloop_93;
+                const real_t q_tmp_8_4 = tmp_qloop_99;
+                const real_t q_tmp_8_5 = tmp_qloop_104;
+                const real_t q_tmp_8_6 = tmp_qloop_108;
+                const real_t q_tmp_8_7 = tmp_qloop_111;
+                const real_t q_tmp_8_8 = tmp_qloop_26*(tmp_qloop_66*tmp_qloop_66);
+                const real_t q_tmp_8_9 = tmp_qloop_113;
+                const real_t q_tmp_9_0 = tmp_qloop_70;
+                const real_t q_tmp_9_1 = tmp_qloop_79;
+                const real_t q_tmp_9_2 = tmp_qloop_87;
+                const real_t q_tmp_9_3 = tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_qloop_100;
+                const real_t q_tmp_9_5 = tmp_qloop_105;
+                const real_t q_tmp_9_6 = tmp_qloop_109;
+                const real_t q_tmp_9_7 = tmp_qloop_112;
+                const real_t q_tmp_9_8 = tmp_qloop_113;
+                const real_t q_tmp_9_9 = tmp_qloop_26*(tmp_qloop_69*tmp_qloop_69);
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMat_4_0 = q_acc_4_0;
+             const real_t elMat_4_1 = q_acc_4_1;
+             const real_t elMat_4_2 = q_acc_4_2;
+             const real_t elMat_4_3 = q_acc_4_3;
+             const real_t elMat_4_4 = q_acc_4_4;
+             const real_t elMat_4_5 = q_acc_4_5;
+             const real_t elMat_4_6 = q_acc_4_6;
+             const real_t elMat_4_7 = q_acc_4_7;
+             const real_t elMat_4_8 = q_acc_4_8;
+             const real_t elMat_4_9 = q_acc_4_9;
+             const real_t elMat_5_0 = q_acc_5_0;
+             const real_t elMat_5_1 = q_acc_5_1;
+             const real_t elMat_5_2 = q_acc_5_2;
+             const real_t elMat_5_3 = q_acc_5_3;
+             const real_t elMat_5_4 = q_acc_5_4;
+             const real_t elMat_5_5 = q_acc_5_5;
+             const real_t elMat_5_6 = q_acc_5_6;
+             const real_t elMat_5_7 = q_acc_5_7;
+             const real_t elMat_5_8 = q_acc_5_8;
+             const real_t elMat_5_9 = q_acc_5_9;
+             const real_t elMat_6_0 = q_acc_6_0;
+             const real_t elMat_6_1 = q_acc_6_1;
+             const real_t elMat_6_2 = q_acc_6_2;
+             const real_t elMat_6_3 = q_acc_6_3;
+             const real_t elMat_6_4 = q_acc_6_4;
+             const real_t elMat_6_5 = q_acc_6_5;
+             const real_t elMat_6_6 = q_acc_6_6;
+             const real_t elMat_6_7 = q_acc_6_7;
+             const real_t elMat_6_8 = q_acc_6_8;
+             const real_t elMat_6_9 = q_acc_6_9;
+             const real_t elMat_7_0 = q_acc_7_0;
+             const real_t elMat_7_1 = q_acc_7_1;
+             const real_t elMat_7_2 = q_acc_7_2;
+             const real_t elMat_7_3 = q_acc_7_3;
+             const real_t elMat_7_4 = q_acc_7_4;
+             const real_t elMat_7_5 = q_acc_7_5;
+             const real_t elMat_7_6 = q_acc_7_6;
+             const real_t elMat_7_7 = q_acc_7_7;
+             const real_t elMat_7_8 = q_acc_7_8;
+             const real_t elMat_7_9 = q_acc_7_9;
+             const real_t elMat_8_0 = q_acc_8_0;
+             const real_t elMat_8_1 = q_acc_8_1;
+             const real_t elMat_8_2 = q_acc_8_2;
+             const real_t elMat_8_3 = q_acc_8_3;
+             const real_t elMat_8_4 = q_acc_8_4;
+             const real_t elMat_8_5 = q_acc_8_5;
+             const real_t elMat_8_6 = q_acc_8_6;
+             const real_t elMat_8_7 = q_acc_8_7;
+             const real_t elMat_8_8 = q_acc_8_8;
+             const real_t elMat_8_9 = q_acc_8_9;
+             const real_t elMat_9_0 = q_acc_9_0;
+             const real_t elMat_9_1 = q_acc_9_1;
+             const real_t elMat_9_2 = q_acc_9_2;
+             const real_t elMat_9_3 = q_acc_9_3;
+             const real_t elMat_9_4 = q_acc_9_4;
+             const real_t elMat_9_5 = q_acc_9_5;
+             const real_t elMat_9_6 = q_acc_9_6;
+             const real_t elMat_9_7 = q_acc_9_7;
+             const real_t elMat_9_8 = q_acc_9_8;
+             const real_t elMat_9_9 = q_acc_9_9;
+         
+             std::vector< uint_t > _data_rowIdx( 10 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 100 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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[4] = ((uint64_t)(_data_dstEdge[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_rowIdx[5] = ((uint64_t)(_data_dstEdge[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_rowIdx[6] = ((uint64_t)(_data_dstEdge[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_rowIdx[7] = ((uint64_t)(_data_dstEdge[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_rowIdx[8] = ((uint64_t)(_data_dstEdge[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_rowIdx[9] = ((uint64_t)(_data_dstEdge[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[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));
+             _data_mat[40] = ((real_t)(elMat_4_0));
+             _data_mat[41] = ((real_t)(elMat_4_1));
+             _data_mat[42] = ((real_t)(elMat_4_2));
+             _data_mat[43] = ((real_t)(elMat_4_3));
+             _data_mat[44] = ((real_t)(elMat_4_4));
+             _data_mat[45] = ((real_t)(elMat_4_5));
+             _data_mat[46] = ((real_t)(elMat_4_6));
+             _data_mat[47] = ((real_t)(elMat_4_7));
+             _data_mat[48] = ((real_t)(elMat_4_8));
+             _data_mat[49] = ((real_t)(elMat_4_9));
+             _data_mat[50] = ((real_t)(elMat_5_0));
+             _data_mat[51] = ((real_t)(elMat_5_1));
+             _data_mat[52] = ((real_t)(elMat_5_2));
+             _data_mat[53] = ((real_t)(elMat_5_3));
+             _data_mat[54] = ((real_t)(elMat_5_4));
+             _data_mat[55] = ((real_t)(elMat_5_5));
+             _data_mat[56] = ((real_t)(elMat_5_6));
+             _data_mat[57] = ((real_t)(elMat_5_7));
+             _data_mat[58] = ((real_t)(elMat_5_8));
+             _data_mat[59] = ((real_t)(elMat_5_9));
+             _data_mat[60] = ((real_t)(elMat_6_0));
+             _data_mat[61] = ((real_t)(elMat_6_1));
+             _data_mat[62] = ((real_t)(elMat_6_2));
+             _data_mat[63] = ((real_t)(elMat_6_3));
+             _data_mat[64] = ((real_t)(elMat_6_4));
+             _data_mat[65] = ((real_t)(elMat_6_5));
+             _data_mat[66] = ((real_t)(elMat_6_6));
+             _data_mat[67] = ((real_t)(elMat_6_7));
+             _data_mat[68] = ((real_t)(elMat_6_8));
+             _data_mat[69] = ((real_t)(elMat_6_9));
+             _data_mat[70] = ((real_t)(elMat_7_0));
+             _data_mat[71] = ((real_t)(elMat_7_1));
+             _data_mat[72] = ((real_t)(elMat_7_2));
+             _data_mat[73] = ((real_t)(elMat_7_3));
+             _data_mat[74] = ((real_t)(elMat_7_4));
+             _data_mat[75] = ((real_t)(elMat_7_5));
+             _data_mat[76] = ((real_t)(elMat_7_6));
+             _data_mat[77] = ((real_t)(elMat_7_7));
+             _data_mat[78] = ((real_t)(elMat_7_8));
+             _data_mat[79] = ((real_t)(elMat_7_9));
+             _data_mat[80] = ((real_t)(elMat_8_0));
+             _data_mat[81] = ((real_t)(elMat_8_1));
+             _data_mat[82] = ((real_t)(elMat_8_2));
+             _data_mat[83] = ((real_t)(elMat_8_3));
+             _data_mat[84] = ((real_t)(elMat_8_4));
+             _data_mat[85] = ((real_t)(elMat_8_5));
+             _data_mat[86] = ((real_t)(elMat_8_6));
+             _data_mat[87] = ((real_t)(elMat_8_7));
+             _data_mat[88] = ((real_t)(elMat_8_8));
+             _data_mat[89] = ((real_t)(elMat_8_9));
+             _data_mat[90] = ((real_t)(elMat_9_0));
+             _data_mat[91] = ((real_t)(elMat_9_1));
+             _data_mat[92] = ((real_t)(elMat_9_2));
+             _data_mat[93] = ((real_t)(elMat_9_3));
+             _data_mat[94] = ((real_t)(elMat_9_4));
+             _data_mat[95] = ((real_t)(elMat_9_5));
+             _data_mat[96] = ((real_t)(elMat_9_6));
+             _data_mat[97] = ((real_t)(elMat_9_7));
+             _data_mat[98] = ((real_t)(elMat_9_8));
+             _data_mat[99] = ((real_t)(elMat_9_9));
+         
+         
+             mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/supg_diffusion/CMakeLists.txt b/operators/supg_diffusion/CMakeLists.txt
index 0196ac6f83fd8ec8652479f68d5edb9a022cfab2..f0aab33b42c2b99dafa83e70469359ab379228bf 100644
--- a/operators/supg_diffusion/CMakeLists.txt
+++ b/operators/supg_diffusion/CMakeLists.txt
@@ -12,9 +12,12 @@ if(HYTEG_BUILD_WITH_AVX AND WALBERLA_DOUBLE_ACCURACY)
       avx/P2ElementwiseSupgDiffusionAnnulusMap_apply_P2ElementwiseSupgDiffusionAnnulusMap_macro_2D.cpp
       avx/P2ElementwiseSupgDiffusionAnnulusMap_computeInverseDiagonalOperatorValues_P2ElementwiseSupgDiffusionAnnulusMap_macro_2D.cpp
       avx/P2ElementwiseSupgDiffusion_apply_P2ElementwiseSupgDiffusion_macro_2D.cpp
+      avx/P2ElementwiseSupgDiffusion_apply_P2ElementwiseSupgDiffusion_macro_3D.cpp
       avx/P2ElementwiseSupgDiffusion_computeInverseDiagonalOperatorValues_P2ElementwiseSupgDiffusion_macro_2D.cpp
+      avx/P2ElementwiseSupgDiffusion_computeInverseDiagonalOperatorValues_P2ElementwiseSupgDiffusion_macro_3D.cpp
       noarch/P2ElementwiseSupgDiffusionAnnulusMap_toMatrix_P2ElementwiseSupgDiffusionAnnulusMap_macro_2D.cpp
       noarch/P2ElementwiseSupgDiffusion_toMatrix_P2ElementwiseSupgDiffusion_macro_2D.cpp
+      noarch/P2ElementwiseSupgDiffusion_toMatrix_P2ElementwiseSupgDiffusion_macro_3D.cpp
    )
 
    set_source_files_properties(
@@ -22,7 +25,9 @@ if(HYTEG_BUILD_WITH_AVX AND WALBERLA_DOUBLE_ACCURACY)
       avx/P2ElementwiseSupgDiffusionAnnulusMap_apply_P2ElementwiseSupgDiffusionAnnulusMap_macro_2D.cpp
       avx/P2ElementwiseSupgDiffusionAnnulusMap_computeInverseDiagonalOperatorValues_P2ElementwiseSupgDiffusionAnnulusMap_macro_2D.cpp
       avx/P2ElementwiseSupgDiffusion_apply_P2ElementwiseSupgDiffusion_macro_2D.cpp
+      avx/P2ElementwiseSupgDiffusion_apply_P2ElementwiseSupgDiffusion_macro_3D.cpp
       avx/P2ElementwiseSupgDiffusion_computeInverseDiagonalOperatorValues_P2ElementwiseSupgDiffusion_macro_2D.cpp
+      avx/P2ElementwiseSupgDiffusion_computeInverseDiagonalOperatorValues_P2ElementwiseSupgDiffusion_macro_3D.cpp
 
       PROPERTIES COMPILE_OPTIONS ${HYTEG_COMPILER_NATIVE_FLAGS}
    )
@@ -37,8 +42,11 @@ else()
       noarch/P2ElementwiseSupgDiffusionAnnulusMap_computeInverseDiagonalOperatorValues_P2ElementwiseSupgDiffusionAnnulusMap_macro_2D.cpp
       noarch/P2ElementwiseSupgDiffusionAnnulusMap_toMatrix_P2ElementwiseSupgDiffusionAnnulusMap_macro_2D.cpp
       noarch/P2ElementwiseSupgDiffusion_apply_P2ElementwiseSupgDiffusion_macro_2D.cpp
+      noarch/P2ElementwiseSupgDiffusion_apply_P2ElementwiseSupgDiffusion_macro_3D.cpp
       noarch/P2ElementwiseSupgDiffusion_computeInverseDiagonalOperatorValues_P2ElementwiseSupgDiffusion_macro_2D.cpp
+      noarch/P2ElementwiseSupgDiffusion_computeInverseDiagonalOperatorValues_P2ElementwiseSupgDiffusion_macro_3D.cpp
       noarch/P2ElementwiseSupgDiffusion_toMatrix_P2ElementwiseSupgDiffusion_macro_2D.cpp
+      noarch/P2ElementwiseSupgDiffusion_toMatrix_P2ElementwiseSupgDiffusion_macro_3D.cpp
    )
 endif()
 
diff --git a/operators/supg_diffusion/P2ElementwiseSupgDiffusion.cpp b/operators/supg_diffusion/P2ElementwiseSupgDiffusion.cpp
index 3672880492641734e893f9fad9586edbf827ca38..0e8d3f2f30a3b8427de80a220c95d9cd7a76477f 100644
--- a/operators/supg_diffusion/P2ElementwiseSupgDiffusion.cpp
+++ b/operators/supg_diffusion/P2ElementwiseSupgDiffusion.cpp
@@ -52,11 +52,13 @@ P2ElementwiseSupgDiffusion::P2ElementwiseSupgDiffusion( const std::shared_ptr< P
                                                         size_t                                     maxLevel,
                                                         const P2Function< real_t >&                _diffusivity_times_delta,
                                                         const P2Function< real_t >&                _wx,
-                                                        const P2Function< real_t >&                _wy )
+                                                        const P2Function< real_t >&                _wy,
+                                                        const P2Function< real_t >&                _wz )
 : Operator( storage, minLevel, maxLevel )
 , diffusivity_times_delta( _diffusivity_times_delta )
 , wx( _wx )
 , wy( _wy )
+, wz( _wz )
 {}
 
 void P2ElementwiseSupgDiffusion::apply( const P2Function< real_t >& src,
@@ -71,7 +73,23 @@ void P2ElementwiseSupgDiffusion::apply( const P2Function< real_t >& src,
    this->timingTree_->start( "pre-communication" );
    if ( this->storage_->hasGlobalCells() )
    {
-      WALBERLA_ABORT( "Not implemented." );
+      // 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 );
+      diffusivity_times_delta.communicate< Face, Cell >( level );
+      diffusivity_times_delta.communicate< Edge, Cell >( level );
+      diffusivity_times_delta.communicate< Vertex, Cell >( level );
+      wx.communicate< Face, Cell >( level );
+      wx.communicate< Edge, Cell >( level );
+      wx.communicate< Vertex, Cell >( level );
+      wy.communicate< Face, Cell >( level );
+      wy.communicate< Edge, Cell >( level );
+      wy.communicate< Vertex, Cell >( level );
+      wz.communicate< Face, Cell >( level );
+      wz.communicate< Edge, Cell >( level );
+      wz.communicate< Vertex, Cell >( level );
    }
    else
    {
@@ -79,6 +97,7 @@ void P2ElementwiseSupgDiffusion::apply( const P2Function< real_t >& src,
       communication::syncFunctionBetweenPrimitives( diffusivity_times_delta, level, communication::syncDirection_t::LOW2HIGH );
       communication::syncFunctionBetweenPrimitives( wx, level, communication::syncDirection_t::LOW2HIGH );
       communication::syncFunctionBetweenPrimitives( wy, level, communication::syncDirection_t::LOW2HIGH );
+      communication::syncFunctionBetweenPrimitives( wz, level, communication::syncDirection_t::LOW2HIGH );
    }
    this->timingTree_->stop( "pre-communication" );
 
@@ -93,7 +112,105 @@ void P2ElementwiseSupgDiffusion::apply( const P2Function< real_t >& src,
 
    if ( storage_->hasGlobalCells() )
    {
-      WALBERLA_ABORT( "Not implemented." );
+      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_dstVertex = cell.getData( dst.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_dstEdge   = cell.getData( dst.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_diffusivity_times_deltaVertex =
+             cell.getData( diffusivity_times_delta.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_diffusivity_times_deltaEdge =
+             cell.getData( diffusivity_times_delta.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_wxVertex = cell.getData( wx.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_wxEdge   = cell.getData( wx.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_wyVertex = cell.getData( wy.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_wyEdge   = cell.getData( wy.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_wzVertex = cell.getData( wz.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_wzEdge   = cell.getData( wz.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_dstVertex[arrayIdx] = real_t( 0 );
+            }
+         }
+         edgedof::macrocell::setBoundaryToZero( level, cell, dst.getEdgeDoFFunction().getCellDataID() );
+
+         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_P2ElementwiseSupgDiffusion_macro_3D(
+
+             _data_diffusivity_times_deltaEdge,
+             _data_diffusivity_times_deltaVertex,
+             _data_dstEdge,
+             _data_dstVertex,
+             _data_srcEdge,
+             _data_srcVertex,
+             _data_wxEdge,
+             _data_wxVertex,
+             _data_wyEdge,
+             _data_wyVertex,
+             _data_wzEdge,
+             _data_wzVertex,
+             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.getVertexDoFFunction().communicateAdditively< Cell, Face >(
+          level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      dst.getVertexDoFFunction().communicateAdditively< Cell, Edge >(
+          level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      dst.getVertexDoFFunction().communicateAdditively< Cell, Vertex >(
+          level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      dst.getEdgeDoFFunction().communicateAdditively< Cell, Face >(
+          level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      dst.getEdgeDoFFunction().communicateAdditively< Cell, Edge >(
+          level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      this->timingTree_->stop( "post-communication" );
    }
    else
    {
@@ -216,9 +333,80 @@ void P2ElementwiseSupgDiffusion::toMatrix( const std::shared_ptr< SparseMatrixPr
       wy.communicate< Face, Cell >( level );
       wy.communicate< Edge, Cell >( level );
       wy.communicate< Vertex, Cell >( level );
+      wz.communicate< Face, Cell >( level );
+      wz.communicate< Edge, Cell >( level );
+      wz.communicate< Vertex, Cell >( level );
       this->timingTree_->stop( "pre-communication" );
 
-      WALBERLA_ABORT( "Not implemented." );
+      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_dstVertex = cell.getData( dst.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         idx_t*  _data_dstEdge   = cell.getData( dst.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_diffusivity_times_deltaVertex =
+             cell.getData( diffusivity_times_delta.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_diffusivity_times_deltaEdge =
+             cell.getData( diffusivity_times_delta.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_wxVertex = cell.getData( wx.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_wxEdge   = cell.getData( wx.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_wyVertex = cell.getData( wy.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_wyEdge   = cell.getData( wy.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_wzVertex = cell.getData( wz.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_wzEdge   = cell.getData( wz.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_P2ElementwiseSupgDiffusion_macro_3D(
+
+             _data_diffusivity_times_deltaEdge,
+             _data_diffusivity_times_deltaVertex,
+             _data_dstEdge,
+             _data_dstVertex,
+             _data_srcEdge,
+             _data_srcVertex,
+             _data_wxEdge,
+             _data_wxVertex,
+             _data_wyEdge,
+             _data_wyVertex,
+             _data_wzEdge,
+             _data_wzVertex,
+             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
    {
@@ -226,6 +414,7 @@ void P2ElementwiseSupgDiffusion::toMatrix( const std::shared_ptr< SparseMatrixPr
       communication::syncFunctionBetweenPrimitives( diffusivity_times_delta, level, communication::syncDirection_t::LOW2HIGH );
       communication::syncFunctionBetweenPrimitives( wx, level, communication::syncDirection_t::LOW2HIGH );
       communication::syncFunctionBetweenPrimitives( wy, level, communication::syncDirection_t::LOW2HIGH );
+      communication::syncFunctionBetweenPrimitives( wz, level, communication::syncDirection_t::LOW2HIGH );
       this->timingTree_->stop( "pre-communication" );
 
       for ( auto& it : storage_->getFaces() )
@@ -245,6 +434,8 @@ void P2ElementwiseSupgDiffusion::toMatrix( const std::shared_ptr< SparseMatrixPr
          real_t* _data_wxEdge   = face.getData( wx.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
          real_t* _data_wyVertex = face.getData( wy.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
          real_t* _data_wyEdge   = face.getData( wy.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
+         real_t* _data_wzVertex = face.getData( wz.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
+         real_t* _data_wzEdge   = face.getData( wz.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 );
@@ -309,9 +500,88 @@ void P2ElementwiseSupgDiffusion::computeInverseDiagonalOperatorValues()
          wy.communicate< Face, Cell >( level );
          wy.communicate< Edge, Cell >( level );
          wy.communicate< Vertex, Cell >( level );
+         wz.communicate< Face, Cell >( level );
+         wz.communicate< Edge, Cell >( level );
+         wz.communicate< Vertex, Cell >( level );
          this->timingTree_->stop( "pre-communication" );
 
-         WALBERLA_ABORT( "Not implemented." );
+         for ( auto& it : storage_->getCells() )
+         {
+            Cell& cell = *it.second;
+
+            // get hold of the actual numerical data
+            real_t* _data_invDiag_Vertex =
+                cell.getData( ( *invDiag_ ).getVertexDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_invDiag_Edge = cell.getData( ( *invDiag_ ).getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_diffusivity_times_deltaVertex =
+                cell.getData( diffusivity_times_delta.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_diffusivity_times_deltaEdge =
+                cell.getData( diffusivity_times_delta.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_wxVertex = cell.getData( wx.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_wxEdge   = cell.getData( wx.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_wyVertex = cell.getData( wy.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_wyEdge   = cell.getData( wy.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_wzVertex = cell.getData( wz.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+            real_t* _data_wzEdge   = cell.getData( wz.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" );
+
+            computeInverseDiagonalOperatorValues_P2ElementwiseSupgDiffusion_macro_3D(
+
+                _data_diffusivity_times_deltaEdge,
+                _data_diffusivity_times_deltaVertex,
+                _data_invDiag_Edge,
+                _data_invDiag_Vertex,
+                _data_wxEdge,
+                _data_wxVertex,
+                _data_wyEdge,
+                _data_wyVertex,
+                _data_wzEdge,
+                _data_wzVertex,
+                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!
+         ( *invDiag_ ).getVertexDoFFunction().communicateAdditively< Cell, Face >( level );
+         ( *invDiag_ ).getVertexDoFFunction().communicateAdditively< Cell, Edge >( level );
+         ( *invDiag_ ).getVertexDoFFunction().communicateAdditively< Cell, Vertex >( level );
+         ( *invDiag_ ).getEdgeDoFFunction().communicateAdditively< Cell, Face >( level );
+         ( *invDiag_ ).getEdgeDoFFunction().communicateAdditively< Cell, Edge >( level );
+         this->timingTree_->stop( "post-communication" );
          ( *invDiag_ ).invertElementwise( level );
       }
       else
@@ -320,6 +590,7 @@ void P2ElementwiseSupgDiffusion::computeInverseDiagonalOperatorValues()
          communication::syncFunctionBetweenPrimitives( diffusivity_times_delta, level, communication::syncDirection_t::LOW2HIGH );
          communication::syncFunctionBetweenPrimitives( wx, level, communication::syncDirection_t::LOW2HIGH );
          communication::syncFunctionBetweenPrimitives( wy, level, communication::syncDirection_t::LOW2HIGH );
+         communication::syncFunctionBetweenPrimitives( wz, level, communication::syncDirection_t::LOW2HIGH );
          this->timingTree_->stop( "pre-communication" );
 
          for ( auto& it : storage_->getFaces() )
@@ -338,6 +609,8 @@ void P2ElementwiseSupgDiffusion::computeInverseDiagonalOperatorValues()
             real_t* _data_wxEdge   = face.getData( wx.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
             real_t* _data_wyVertex = face.getData( wy.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
             real_t* _data_wyEdge   = face.getData( wy.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
+            real_t* _data_wzVertex = face.getData( wz.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
+            real_t* _data_wzEdge   = face.getData( wz.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 );
diff --git a/operators/supg_diffusion/P2ElementwiseSupgDiffusion.hpp b/operators/supg_diffusion/P2ElementwiseSupgDiffusion.hpp
index fd879661a7fd3317aed0dd48293b7af859dfc3a8..42b75a698570467253e069d37294750bdd73aa50 100644
--- a/operators/supg_diffusion/P2ElementwiseSupgDiffusion.hpp
+++ b/operators/supg_diffusion/P2ElementwiseSupgDiffusion.hpp
@@ -54,7 +54,8 @@ class P2ElementwiseSupgDiffusion : public Operator< P2Function< real_t >, P2Func
                                size_t                                     maxLevel,
                                const P2Function< real_t >&                _diffusivity_times_delta,
                                const P2Function< real_t >&                _wx,
-                               const P2Function< real_t >&                _wy );
+                               const P2Function< real_t >&                _wy,
+                               const P2Function< real_t >&                _wz );
 
    void apply( const P2Function< real_t >& src,
                const P2Function< real_t >& dst,
@@ -103,6 +104,43 @@ class P2ElementwiseSupgDiffusion : public Operator< P2Function< real_t >, P2Func
                                                    int64_t          micro_edges_per_macro_edge,
                                                    real_t           micro_edges_per_macro_edge_float ) const;
 
+   /// Integral: P2ElementwiseSupgDiffusion
+   /// - volume element:  tetrahedron, dim: 3, vertices: 4, spacedim: 3
+   /// - kernel type:     apply
+   /// - loop strategy:   SAWTOOTH
+   /// - quadrature rule: Hammer-Marlowe-Stroud 3 | points: 5, degree: 3
+   /// - blending map:    IdentityMap
+   /// - operations per element:
+   ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
+   /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
+   ///   1598    1772      36       0      0              0                 0              1
+   void apply_P2ElementwiseSupgDiffusion_macro_3D( real_t* RESTRICT _data_diffusivity_times_deltaEdge,
+                                                   real_t* RESTRICT _data_diffusivity_times_deltaVertex,
+                                                   real_t* RESTRICT _data_dstEdge,
+                                                   real_t* RESTRICT _data_dstVertex,
+                                                   real_t* RESTRICT _data_srcEdge,
+                                                   real_t* RESTRICT _data_srcVertex,
+                                                   real_t* RESTRICT _data_wxEdge,
+                                                   real_t* RESTRICT _data_wxVertex,
+                                                   real_t* RESTRICT _data_wyEdge,
+                                                   real_t* RESTRICT _data_wyVertex,
+                                                   real_t* RESTRICT _data_wzEdge,
+                                                   real_t* RESTRICT _data_wzVertex,
+                                                   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;
+
    /// Integral: P2ElementwiseSupgDiffusion
    /// - volume element:  triangle, dim: 2, vertices: 3, spacedim: 2
    /// - kernel type:     toMatrix
@@ -133,6 +171,44 @@ class P2ElementwiseSupgDiffusion : public Operator< P2Function< real_t >, P2Func
                                                       int64_t                              micro_edges_per_macro_edge,
                                                       real_t micro_edges_per_macro_edge_float ) const;
 
+   /// Integral: P2ElementwiseSupgDiffusion
+   /// - volume element:  tetrahedron, dim: 3, vertices: 4, spacedim: 3
+   /// - kernel type:     toMatrix
+   /// - loop strategy:   SAWTOOTH
+   /// - quadrature rule: Hammer-Marlowe-Stroud 3 | points: 5, degree: 3
+   /// - blending map:    IdentityMap
+   /// - operations per element:
+   ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
+   /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
+   ///   1498    1672      36       0      0              0                 0              4
+   void toMatrix_P2ElementwiseSupgDiffusion_macro_3D( real_t* RESTRICT                     _data_diffusivity_times_deltaEdge,
+                                                      real_t* RESTRICT                     _data_diffusivity_times_deltaVertex,
+                                                      idx_t* RESTRICT                      _data_dstEdge,
+                                                      idx_t* RESTRICT                      _data_dstVertex,
+                                                      idx_t* RESTRICT                      _data_srcEdge,
+                                                      idx_t* RESTRICT                      _data_srcVertex,
+                                                      real_t* RESTRICT                     _data_wxEdge,
+                                                      real_t* RESTRICT                     _data_wxVertex,
+                                                      real_t* RESTRICT                     _data_wyEdge,
+                                                      real_t* RESTRICT                     _data_wyVertex,
+                                                      real_t* RESTRICT                     _data_wzEdge,
+                                                      real_t* RESTRICT                     _data_wzVertex,
+                                                      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;
+
    /// Integral: P2ElementwiseSupgDiffusion
    /// - volume element:  triangle, dim: 2, vertices: 3, spacedim: 2
    /// - kernel type:     computeInverseDiagonalOperatorValues
@@ -161,10 +237,47 @@ class P2ElementwiseSupgDiffusion : public Operator< P2Function< real_t >, P2Func
        int64_t          micro_edges_per_macro_edge,
        real_t           micro_edges_per_macro_edge_float ) const;
 
+   /// Integral: P2ElementwiseSupgDiffusion
+   /// - volume element:  tetrahedron, dim: 3, vertices: 4, spacedim: 3
+   /// - kernel type:     computeInverseDiagonalOperatorValues
+   /// - loop strategy:   SAWTOOTH
+   /// - quadrature rule: Hammer-Marlowe-Stroud 3 | points: 5, degree: 3
+   /// - blending map:    IdentityMap
+   /// - operations per element:
+   ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
+   /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
+   ///   1058    1222      36       0      0              0                 0              1
+   void computeInverseDiagonalOperatorValues_P2ElementwiseSupgDiffusion_macro_3D(
+       real_t* RESTRICT _data_diffusivity_times_deltaEdge,
+       real_t* RESTRICT _data_diffusivity_times_deltaVertex,
+       real_t* RESTRICT _data_invDiag_Edge,
+       real_t* RESTRICT _data_invDiag_Vertex,
+       real_t* RESTRICT _data_wxEdge,
+       real_t* RESTRICT _data_wxVertex,
+       real_t* RESTRICT _data_wyEdge,
+       real_t* RESTRICT _data_wyVertex,
+       real_t* RESTRICT _data_wzEdge,
+       real_t* RESTRICT _data_wzVertex,
+       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;
+
    std::shared_ptr< P2Function< real_t > > invDiag_;
    P2Function< real_t >                    diffusivity_times_delta;
    P2Function< real_t >                    wx;
    P2Function< real_t >                    wy;
+   P2Function< real_t >                    wz;
 };
 
 } // namespace operatorgeneration
diff --git a/operators/supg_diffusion/avx/P2ElementwiseSupgDiffusion_apply_P2ElementwiseSupgDiffusion_macro_3D.cpp b/operators/supg_diffusion/avx/P2ElementwiseSupgDiffusion_apply_P2ElementwiseSupgDiffusion_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..73c9327bbc11708b5d56f58361ed5159934ffaff
--- /dev/null
+++ b/operators/supg_diffusion/avx/P2ElementwiseSupgDiffusion_apply_P2ElementwiseSupgDiffusion_macro_3D.cpp
@@ -0,0 +1,6204 @@
+/*
+* 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 Operator Generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ElementwiseSupgDiffusion.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ElementwiseSupgDiffusion::apply_P2ElementwiseSupgDiffusion_macro_3D( real_t * RESTRICT  _data_diffusivity_times_deltaEdge, real_t * RESTRICT  _data_diffusivity_times_deltaVertex, real_t * RESTRICT  _data_dstEdge, real_t * RESTRICT  _data_dstVertex, real_t * RESTRICT  _data_srcEdge, real_t * RESTRICT  _data_srcVertex, real_t * RESTRICT  _data_wxEdge, real_t * RESTRICT  _data_wxVertex, real_t * RESTRICT  _data_wyEdge, real_t * RESTRICT  _data_wyVertex, real_t * RESTRICT  _data_wzEdge, real_t * RESTRICT  _data_wzVertex, 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 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_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 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_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 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_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 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP;
+       const real_t tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP);
+       const real_t jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP);
+       const real_t jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP);
+       const real_t jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP);
+       const real_t jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP);
+       const real_t tmp_qloop_0 = jac_affine_inv_2_0_WHITE_UP*4.0;
+       const real_t tmp_qloop_1 = jac_affine_inv_0_0_WHITE_UP*4.0;
+       const real_t tmp_qloop_2 = jac_affine_inv_1_0_WHITE_UP*4.0;
+       const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+       const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3;
+       const real_t tmp_qloop_5 = jac_affine_inv_2_1_WHITE_UP*4.0;
+       const real_t tmp_qloop_6 = jac_affine_inv_0_1_WHITE_UP*4.0;
+       const real_t tmp_qloop_7 = jac_affine_inv_1_1_WHITE_UP*4.0;
+       const real_t tmp_qloop_8 = tmp_qloop_6 + tmp_qloop_7;
+       const real_t tmp_qloop_9 = tmp_qloop_5 + tmp_qloop_8;
+       const real_t tmp_qloop_10 = jac_affine_inv_2_2_WHITE_UP*4.0;
+       const real_t tmp_qloop_11 = jac_affine_inv_0_2_WHITE_UP*4.0;
+       const real_t tmp_qloop_12 = jac_affine_inv_1_2_WHITE_UP*4.0;
+       const real_t tmp_qloop_13 = tmp_qloop_11 + tmp_qloop_12;
+       const real_t tmp_qloop_14 = tmp_qloop_10 + tmp_qloop_13;
+       const real_t tmp_qloop_15 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_9 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_14 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_9 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_14 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_9 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_14;
+       const real_t tmp_qloop_43 = (jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP)*4.0 + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP)*4.0 + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)*4.0;
+       const real_t tmp_qloop_44 = (jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP)*4.0 + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP)*4.0 + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)*4.0;
+       const real_t tmp_qloop_45 = (jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP)*4.0 + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP)*4.0 + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)*4.0;
+       const real_t tmp_qloop_46 = jac_affine_inv_2_0_WHITE_UP*8.0;
+       const real_t tmp_qloop_47 = jac_affine_inv_2_1_WHITE_UP*8.0;
+       const real_t tmp_qloop_48 = jac_affine_inv_2_2_WHITE_UP*8.0;
+       const real_t tmp_qloop_49 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_46 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_47 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_48;
+       const real_t tmp_qloop_50 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_46 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_47 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_48;
+       const real_t tmp_qloop_51 = jac_affine_inv_1_0_WHITE_UP*8.0;
+       const real_t tmp_qloop_52 = jac_affine_inv_1_1_WHITE_UP*8.0;
+       const real_t tmp_qloop_53 = jac_affine_inv_1_2_WHITE_UP*8.0;
+       const real_t tmp_qloop_54 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_51 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_52 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_53;
+       const real_t tmp_qloop_55 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_2 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_7 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_12;
+       const real_t tmp_qloop_56 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_1 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_6 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_11;
+       const real_t tmp_qloop_57 = jac_affine_inv_2_0_WHITE_UP*(-tmp_qloop_3 - tmp_qloop_46) + jac_affine_inv_2_1_WHITE_UP*(-tmp_qloop_47 - tmp_qloop_8) + jac_affine_inv_2_2_WHITE_UP*(-tmp_qloop_13 - tmp_qloop_48) - tmp_qloop_55 - tmp_qloop_56;
+       const real_t tmp_qloop_58 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_1 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_6 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_11;
+       const real_t tmp_qloop_59 = jac_affine_inv_1_0_WHITE_UP*(-tmp_qloop_0 - tmp_qloop_1 - tmp_qloop_51) + jac_affine_inv_1_1_WHITE_UP*(-tmp_qloop_5 - tmp_qloop_52 - tmp_qloop_6) + jac_affine_inv_1_2_WHITE_UP*(-tmp_qloop_10 - tmp_qloop_11 - tmp_qloop_53) - tmp_qloop_55 - tmp_qloop_58;
+       const real_t tmp_qloop_60 = jac_affine_inv_0_0_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*-8.0 - tmp_qloop_0 - tmp_qloop_2) + jac_affine_inv_0_1_WHITE_UP*(jac_affine_inv_0_1_WHITE_UP*-8.0 - tmp_qloop_5 - tmp_qloop_7) + jac_affine_inv_0_2_WHITE_UP*(jac_affine_inv_0_2_WHITE_UP*-8.0 - tmp_qloop_10 - tmp_qloop_12) - tmp_qloop_56 - tmp_qloop_58;
+       {
+          /* CellType.WHITE_UP */
+          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 diffusivity_times_delta_dof_0 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_1 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_2 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_3 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_4 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_5 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_6 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_7 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_8 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_9 = _mm256_loadu_pd(& _data_wxEdge[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 wy_dof_0 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_1 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_2 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_3 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_4 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_5 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_6 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_7 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_8 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_9 = _mm256_loadu_pd(& _data_wyEdge[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 wz_dof_0 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_1 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_2 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_3 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_4 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_5 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_6 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_7 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_8 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_9 = _mm256_loadu_pd(& _data_wzEdge[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);
+                __m256d q_acc_4_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_16 = _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]));
+                   const __m256d tmp_qloop_17 = _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_18 = _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]));
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_17,tmp_qloop_18);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_16),tmp_qloop_19);
+                   const __m256d tmp_qloop_21 = _mm256_mul_pd(tmp_qloop_17,_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_22 = _mm256_mul_pd(tmp_qloop_17,_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_23 = _mm256_mul_pd(tmp_qloop_18,_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_24 = _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_25 = _mm256_mul_pd(tmp_qloop_24,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_26 = _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_25);
+                   const __m256d tmp_qloop_27 = _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_28 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_29 = _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_28);
+                   const __m256d tmp_qloop_30 = _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_31 = _mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_32 = _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_31);
+                   const __m256d tmp_qloop_33 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_16);
+                   const __m256d tmp_qloop_34 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_18);
+                   const __m256d tmp_qloop_35 = _mm256_add_pd(tmp_qloop_21,tmp_qloop_22);
+                   const __m256d tmp_qloop_36 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_24,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_17);
+                   const __m256d tmp_qloop_37 = _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_23),tmp_qloop_25),tmp_qloop_28),tmp_qloop_31),tmp_qloop_35);
+                   const __m256d tmp_qloop_38 = _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(tmp_qloop_21,wx_dof_6),_mm256_mul_pd(tmp_qloop_22,wx_dof_5)),_mm256_mul_pd(tmp_qloop_23,wx_dof_4)),_mm256_mul_pd(tmp_qloop_26,wx_dof_1)),_mm256_mul_pd(tmp_qloop_29,wx_dof_2)),_mm256_mul_pd(tmp_qloop_32,wx_dof_3)),_mm256_mul_pd(tmp_qloop_33,wx_dof_7)),_mm256_mul_pd(tmp_qloop_34,wx_dof_8)),_mm256_mul_pd(tmp_qloop_36,wx_dof_9)),_mm256_mul_pd(tmp_qloop_37,wx_dof_0));
+                   const __m256d tmp_qloop_39 = _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(tmp_qloop_21,wy_dof_6),_mm256_mul_pd(tmp_qloop_22,wy_dof_5)),_mm256_mul_pd(tmp_qloop_23,wy_dof_4)),_mm256_mul_pd(tmp_qloop_26,wy_dof_1)),_mm256_mul_pd(tmp_qloop_29,wy_dof_2)),_mm256_mul_pd(tmp_qloop_32,wy_dof_3)),_mm256_mul_pd(tmp_qloop_33,wy_dof_7)),_mm256_mul_pd(tmp_qloop_34,wy_dof_8)),_mm256_mul_pd(tmp_qloop_36,wy_dof_9)),_mm256_mul_pd(tmp_qloop_37,wy_dof_0));
+                   const __m256d tmp_qloop_40 = _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(tmp_qloop_21,wz_dof_6),_mm256_mul_pd(tmp_qloop_22,wz_dof_5)),_mm256_mul_pd(tmp_qloop_23,wz_dof_4)),_mm256_mul_pd(tmp_qloop_26,wz_dof_1)),_mm256_mul_pd(tmp_qloop_29,wz_dof_2)),_mm256_mul_pd(tmp_qloop_32,wz_dof_3)),_mm256_mul_pd(tmp_qloop_33,wz_dof_7)),_mm256_mul_pd(tmp_qloop_34,wz_dof_8)),_mm256_mul_pd(tmp_qloop_36,wz_dof_9)),_mm256_mul_pd(tmp_qloop_37,wz_dof_0));
+                   const __m256d tmp_qloop_41 = _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(diffusivity_times_delta_dof_0,tmp_qloop_37),_mm256_mul_pd(diffusivity_times_delta_dof_1,tmp_qloop_26)),_mm256_mul_pd(diffusivity_times_delta_dof_2,tmp_qloop_29)),_mm256_mul_pd(diffusivity_times_delta_dof_3,tmp_qloop_32)),_mm256_mul_pd(diffusivity_times_delta_dof_4,tmp_qloop_23)),_mm256_mul_pd(diffusivity_times_delta_dof_5,tmp_qloop_22)),_mm256_mul_pd(diffusivity_times_delta_dof_6,tmp_qloop_21)),_mm256_mul_pd(diffusivity_times_delta_dof_7,tmp_qloop_33)),_mm256_mul_pd(diffusivity_times_delta_dof_8,tmp_qloop_34)),_mm256_mul_pd(diffusivity_times_delta_dof_9,tmp_qloop_36)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))))));
+                   const __m256d tmp_qloop_61 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_17);
+                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_61),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,tmp_qloop_61),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,tmp_qloop_61),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))));
+                   const __m256d tmp_qloop_63 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_18);
+                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_63),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,tmp_qloop_63),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,tmp_qloop_63),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))));
+                   const __m256d tmp_qloop_65 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_16);
+                   const __m256d tmp_qloop_66 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_65),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,tmp_qloop_65),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,tmp_qloop_65),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))));
+                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP));
+                   const __m256d tmp_qloop_68 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP));
+                   const __m256d tmp_qloop_69 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP));
+                   const __m256d tmp_qloop_70 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP));
+                   const __m256d tmp_qloop_71 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP));
+                   const __m256d tmp_qloop_72 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP));
+                   const __m256d tmp_qloop_73 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(tmp_qloop_67,tmp_qloop_68)),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(tmp_qloop_69,tmp_qloop_70))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(tmp_qloop_71,tmp_qloop_72))));
+                   const __m256d tmp_qloop_74 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP));
+                   const __m256d tmp_qloop_75 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP));
+                   const __m256d tmp_qloop_76 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP));
+                   const __m256d tmp_qloop_77 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP));
+                   const __m256d tmp_qloop_78 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP));
+                   const __m256d tmp_qloop_79 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP));
+                   const __m256d tmp_qloop_80 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(tmp_qloop_74,tmp_qloop_75)),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(tmp_qloop_76,tmp_qloop_77))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(tmp_qloop_78,tmp_qloop_79))));
+                   const __m256d tmp_qloop_81 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP));
+                   const __m256d tmp_qloop_82 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP));
+                   const __m256d tmp_qloop_83 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP));
+                   const __m256d tmp_qloop_84 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP));
+                   const __m256d tmp_qloop_85 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP));
+                   const __m256d tmp_qloop_86 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP));
+                   const __m256d tmp_qloop_87 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(tmp_qloop_81,tmp_qloop_82)),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(tmp_qloop_83,tmp_qloop_84))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(tmp_qloop_85,tmp_qloop_86))));
+                   const __m256d tmp_qloop_88 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_89 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_75,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_88,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_70,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_77,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_88,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_79,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_88,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))))));
+                   const __m256d tmp_qloop_90 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_16);
+                   const __m256d tmp_qloop_91 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_90,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_92 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_82,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_91,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_69,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_84,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_91,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_86,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_91,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))))));
+                   const __m256d tmp_qloop_93 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_90,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_94 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_81,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_93,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_76,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_83,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_93,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_78,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_85,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_93,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))))));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_qloop_15,tmp_qloop_15,tmp_qloop_15,tmp_qloop_15));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_qloop_43,tmp_qloop_43,tmp_qloop_43,tmp_qloop_43));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_qloop_44,tmp_qloop_44,tmp_qloop_44,tmp_qloop_44));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_qloop_49,tmp_qloop_49,tmp_qloop_49,tmp_qloop_49));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_qloop_50,tmp_qloop_50,tmp_qloop_50,tmp_qloop_50));
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_qloop_54,tmp_qloop_54,tmp_qloop_54,tmp_qloop_54));
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_qloop_57,tmp_qloop_57,tmp_qloop_57,tmp_qloop_57));
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_qloop_59,tmp_qloop_59,tmp_qloop_59,tmp_qloop_59));
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_qloop_60,tmp_qloop_60,tmp_qloop_60,tmp_qloop_60));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_qloop_15,tmp_qloop_15,tmp_qloop_15,tmp_qloop_15));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_qloop_43,tmp_qloop_43,tmp_qloop_43,tmp_qloop_43));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_qloop_44,tmp_qloop_44,tmp_qloop_44,tmp_qloop_44));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45));
+                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_qloop_49,tmp_qloop_49,tmp_qloop_49,tmp_qloop_49));
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_qloop_50,tmp_qloop_50,tmp_qloop_50,tmp_qloop_50));
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_qloop_54,tmp_qloop_54,tmp_qloop_54,tmp_qloop_54));
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_qloop_57,tmp_qloop_57,tmp_qloop_57,tmp_qloop_57));
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_qloop_59,tmp_qloop_59,tmp_qloop_59,tmp_qloop_59));
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_qloop_60,tmp_qloop_60,tmp_qloop_60,tmp_qloop_60));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_qloop_15,tmp_qloop_15,tmp_qloop_15,tmp_qloop_15));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_qloop_43,tmp_qloop_43,tmp_qloop_43,tmp_qloop_43));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_qloop_44,tmp_qloop_44,tmp_qloop_44,tmp_qloop_44));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_qloop_49,tmp_qloop_49,tmp_qloop_49,tmp_qloop_49));
+                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_qloop_50,tmp_qloop_50,tmp_qloop_50,tmp_qloop_50));
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_qloop_54,tmp_qloop_54,tmp_qloop_54,tmp_qloop_54));
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_qloop_57,tmp_qloop_57,tmp_qloop_57,tmp_qloop_57));
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_qloop_59,tmp_qloop_59,tmp_qloop_59,tmp_qloop_59));
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_qloop_60,tmp_qloop_60,tmp_qloop_60,tmp_qloop_60));
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_qloop_15,tmp_qloop_15,tmp_qloop_15,tmp_qloop_15));
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_qloop_43,tmp_qloop_43,tmp_qloop_43,tmp_qloop_43));
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_qloop_44,tmp_qloop_44,tmp_qloop_44,tmp_qloop_44));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_qloop_49,tmp_qloop_49,tmp_qloop_49,tmp_qloop_49));
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_qloop_50,tmp_qloop_50,tmp_qloop_50,tmp_qloop_50));
+                   const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_qloop_54,tmp_qloop_54,tmp_qloop_54,tmp_qloop_54));
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_qloop_57,tmp_qloop_57,tmp_qloop_57,tmp_qloop_57));
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_qloop_59,tmp_qloop_59,tmp_qloop_59,tmp_qloop_59));
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_qloop_60,tmp_qloop_60,tmp_qloop_60,tmp_qloop_60));
+                   const __m256d q_tmp_4_0 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_qloop_15,tmp_qloop_15,tmp_qloop_15,tmp_qloop_15));
+                   const __m256d q_tmp_4_1 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_qloop_43,tmp_qloop_43,tmp_qloop_43,tmp_qloop_43));
+                   const __m256d q_tmp_4_2 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_qloop_44,tmp_qloop_44,tmp_qloop_44,tmp_qloop_44));
+                   const __m256d q_tmp_4_3 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_qloop_49,tmp_qloop_49,tmp_qloop_49,tmp_qloop_49));
+                   const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_qloop_50,tmp_qloop_50,tmp_qloop_50,tmp_qloop_50));
+                   const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_qloop_54,tmp_qloop_54,tmp_qloop_54,tmp_qloop_54));
+                   const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_qloop_57,tmp_qloop_57,tmp_qloop_57,tmp_qloop_57));
+                   const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_qloop_59,tmp_qloop_59,tmp_qloop_59,tmp_qloop_59));
+                   const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_qloop_60,tmp_qloop_60,tmp_qloop_60,tmp_qloop_60));
+                   const __m256d q_tmp_5_0 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_qloop_15,tmp_qloop_15,tmp_qloop_15,tmp_qloop_15));
+                   const __m256d q_tmp_5_1 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_qloop_43,tmp_qloop_43,tmp_qloop_43,tmp_qloop_43));
+                   const __m256d q_tmp_5_2 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_qloop_44,tmp_qloop_44,tmp_qloop_44,tmp_qloop_44));
+                   const __m256d q_tmp_5_3 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45));
+                   const __m256d q_tmp_5_4 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_qloop_49,tmp_qloop_49,tmp_qloop_49,tmp_qloop_49));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_qloop_50,tmp_qloop_50,tmp_qloop_50,tmp_qloop_50));
+                   const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_qloop_54,tmp_qloop_54,tmp_qloop_54,tmp_qloop_54));
+                   const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_qloop_57,tmp_qloop_57,tmp_qloop_57,tmp_qloop_57));
+                   const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_qloop_59,tmp_qloop_59,tmp_qloop_59,tmp_qloop_59));
+                   const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_qloop_60,tmp_qloop_60,tmp_qloop_60,tmp_qloop_60));
+                   const __m256d q_tmp_6_0 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_qloop_15,tmp_qloop_15,tmp_qloop_15,tmp_qloop_15));
+                   const __m256d q_tmp_6_1 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_qloop_43,tmp_qloop_43,tmp_qloop_43,tmp_qloop_43));
+                   const __m256d q_tmp_6_2 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_qloop_44,tmp_qloop_44,tmp_qloop_44,tmp_qloop_44));
+                   const __m256d q_tmp_6_3 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45));
+                   const __m256d q_tmp_6_4 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_qloop_49,tmp_qloop_49,tmp_qloop_49,tmp_qloop_49));
+                   const __m256d q_tmp_6_5 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_qloop_50,tmp_qloop_50,tmp_qloop_50,tmp_qloop_50));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_qloop_54,tmp_qloop_54,tmp_qloop_54,tmp_qloop_54));
+                   const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_qloop_57,tmp_qloop_57,tmp_qloop_57,tmp_qloop_57));
+                   const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_qloop_59,tmp_qloop_59,tmp_qloop_59,tmp_qloop_59));
+                   const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_qloop_60,tmp_qloop_60,tmp_qloop_60,tmp_qloop_60));
+                   const __m256d q_tmp_7_0 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_qloop_15,tmp_qloop_15,tmp_qloop_15,tmp_qloop_15));
+                   const __m256d q_tmp_7_1 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_qloop_43,tmp_qloop_43,tmp_qloop_43,tmp_qloop_43));
+                   const __m256d q_tmp_7_2 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_qloop_44,tmp_qloop_44,tmp_qloop_44,tmp_qloop_44));
+                   const __m256d q_tmp_7_3 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45));
+                   const __m256d q_tmp_7_4 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_qloop_49,tmp_qloop_49,tmp_qloop_49,tmp_qloop_49));
+                   const __m256d q_tmp_7_5 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_qloop_50,tmp_qloop_50,tmp_qloop_50,tmp_qloop_50));
+                   const __m256d q_tmp_7_6 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_qloop_54,tmp_qloop_54,tmp_qloop_54,tmp_qloop_54));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_qloop_57,tmp_qloop_57,tmp_qloop_57,tmp_qloop_57));
+                   const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_qloop_59,tmp_qloop_59,tmp_qloop_59,tmp_qloop_59));
+                   const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_qloop_60,tmp_qloop_60,tmp_qloop_60,tmp_qloop_60));
+                   const __m256d q_tmp_8_0 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_qloop_15,tmp_qloop_15,tmp_qloop_15,tmp_qloop_15));
+                   const __m256d q_tmp_8_1 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_qloop_43,tmp_qloop_43,tmp_qloop_43,tmp_qloop_43));
+                   const __m256d q_tmp_8_2 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_qloop_44,tmp_qloop_44,tmp_qloop_44,tmp_qloop_44));
+                   const __m256d q_tmp_8_3 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45));
+                   const __m256d q_tmp_8_4 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_qloop_49,tmp_qloop_49,tmp_qloop_49,tmp_qloop_49));
+                   const __m256d q_tmp_8_5 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_qloop_50,tmp_qloop_50,tmp_qloop_50,tmp_qloop_50));
+                   const __m256d q_tmp_8_6 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_qloop_54,tmp_qloop_54,tmp_qloop_54,tmp_qloop_54));
+                   const __m256d q_tmp_8_7 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_qloop_57,tmp_qloop_57,tmp_qloop_57,tmp_qloop_57));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_qloop_59,tmp_qloop_59,tmp_qloop_59,tmp_qloop_59));
+                   const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_qloop_60,tmp_qloop_60,tmp_qloop_60,tmp_qloop_60));
+                   const __m256d q_tmp_9_0 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_qloop_15,tmp_qloop_15,tmp_qloop_15,tmp_qloop_15));
+                   const __m256d q_tmp_9_1 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_qloop_43,tmp_qloop_43,tmp_qloop_43,tmp_qloop_43));
+                   const __m256d q_tmp_9_2 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_qloop_44,tmp_qloop_44,tmp_qloop_44,tmp_qloop_44));
+                   const __m256d q_tmp_9_3 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45));
+                   const __m256d q_tmp_9_4 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_qloop_49,tmp_qloop_49,tmp_qloop_49,tmp_qloop_49));
+                   const __m256d q_tmp_9_5 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_qloop_50,tmp_qloop_50,tmp_qloop_50,tmp_qloop_50));
+                   const __m256d q_tmp_9_6 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_qloop_54,tmp_qloop_54,tmp_qloop_54,tmp_qloop_54));
+                   const __m256d q_tmp_9_7 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_qloop_57,tmp_qloop_57,tmp_qloop_57,tmp_qloop_57));
+                   const __m256d q_tmp_9_8 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_qloop_59,tmp_qloop_59,tmp_qloop_59,tmp_qloop_59));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_qloop_60,tmp_qloop_60,tmp_qloop_60,tmp_qloop_60));
+                   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);
+                   q_acc_4_0 = _mm256_add_pd(q_acc_4_0,q_tmp_4_0);
+                   q_acc_4_1 = _mm256_add_pd(q_acc_4_1,q_tmp_4_1);
+                   q_acc_4_2 = _mm256_add_pd(q_acc_4_2,q_tmp_4_2);
+                   q_acc_4_3 = _mm256_add_pd(q_acc_4_3,q_tmp_4_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5);
+                   q_acc_4_6 = _mm256_add_pd(q_acc_4_6,q_tmp_4_6);
+                   q_acc_4_7 = _mm256_add_pd(q_acc_4_7,q_tmp_4_7);
+                   q_acc_4_8 = _mm256_add_pd(q_acc_4_8,q_tmp_4_8);
+                   q_acc_4_9 = _mm256_add_pd(q_acc_4_9,q_tmp_4_9);
+                   q_acc_5_0 = _mm256_add_pd(q_acc_5_0,q_tmp_5_0);
+                   q_acc_5_1 = _mm256_add_pd(q_acc_5_1,q_tmp_5_1);
+                   q_acc_5_2 = _mm256_add_pd(q_acc_5_2,q_tmp_5_2);
+                   q_acc_5_3 = _mm256_add_pd(q_acc_5_3,q_tmp_5_3);
+                   q_acc_5_4 = _mm256_add_pd(q_acc_5_4,q_tmp_5_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_5_6 = _mm256_add_pd(q_acc_5_6,q_tmp_5_6);
+                   q_acc_5_7 = _mm256_add_pd(q_acc_5_7,q_tmp_5_7);
+                   q_acc_5_8 = _mm256_add_pd(q_acc_5_8,q_tmp_5_8);
+                   q_acc_5_9 = _mm256_add_pd(q_acc_5_9,q_tmp_5_9);
+                   q_acc_6_0 = _mm256_add_pd(q_acc_6_0,q_tmp_6_0);
+                   q_acc_6_1 = _mm256_add_pd(q_acc_6_1,q_tmp_6_1);
+                   q_acc_6_2 = _mm256_add_pd(q_acc_6_2,q_tmp_6_2);
+                   q_acc_6_3 = _mm256_add_pd(q_acc_6_3,q_tmp_6_3);
+                   q_acc_6_4 = _mm256_add_pd(q_acc_6_4,q_tmp_6_4);
+                   q_acc_6_5 = _mm256_add_pd(q_acc_6_5,q_tmp_6_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_6_7 = _mm256_add_pd(q_acc_6_7,q_tmp_6_7);
+                   q_acc_6_8 = _mm256_add_pd(q_acc_6_8,q_tmp_6_8);
+                   q_acc_6_9 = _mm256_add_pd(q_acc_6_9,q_tmp_6_9);
+                   q_acc_7_0 = _mm256_add_pd(q_acc_7_0,q_tmp_7_0);
+                   q_acc_7_1 = _mm256_add_pd(q_acc_7_1,q_tmp_7_1);
+                   q_acc_7_2 = _mm256_add_pd(q_acc_7_2,q_tmp_7_2);
+                   q_acc_7_3 = _mm256_add_pd(q_acc_7_3,q_tmp_7_3);
+                   q_acc_7_4 = _mm256_add_pd(q_acc_7_4,q_tmp_7_4);
+                   q_acc_7_5 = _mm256_add_pd(q_acc_7_5,q_tmp_7_5);
+                   q_acc_7_6 = _mm256_add_pd(q_acc_7_6,q_tmp_7_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_7_8 = _mm256_add_pd(q_acc_7_8,q_tmp_7_8);
+                   q_acc_7_9 = _mm256_add_pd(q_acc_7_9,q_tmp_7_9);
+                   q_acc_8_0 = _mm256_add_pd(q_acc_8_0,q_tmp_8_0);
+                   q_acc_8_1 = _mm256_add_pd(q_acc_8_1,q_tmp_8_1);
+                   q_acc_8_2 = _mm256_add_pd(q_acc_8_2,q_tmp_8_2);
+                   q_acc_8_3 = _mm256_add_pd(q_acc_8_3,q_tmp_8_3);
+                   q_acc_8_4 = _mm256_add_pd(q_acc_8_4,q_tmp_8_4);
+                   q_acc_8_5 = _mm256_add_pd(q_acc_8_5,q_tmp_8_5);
+                   q_acc_8_6 = _mm256_add_pd(q_acc_8_6,q_tmp_8_6);
+                   q_acc_8_7 = _mm256_add_pd(q_acc_8_7,q_tmp_8_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_8_9 = _mm256_add_pd(q_acc_8_9,q_tmp_8_9);
+                   q_acc_9_0 = _mm256_add_pd(q_acc_9_0,q_tmp_9_0);
+                   q_acc_9_1 = _mm256_add_pd(q_acc_9_1,q_tmp_9_1);
+                   q_acc_9_2 = _mm256_add_pd(q_acc_9_2,q_tmp_9_2);
+                   q_acc_9_3 = _mm256_add_pd(q_acc_9_3,q_tmp_9_3);
+                   q_acc_9_4 = _mm256_add_pd(q_acc_9_4,q_tmp_9_4);
+                   q_acc_9_5 = _mm256_add_pd(q_acc_9_5,q_tmp_9_5);
+                   q_acc_9_6 = _mm256_add_pd(q_acc_9_6,q_tmp_9_6);
+                   q_acc_9_7 = _mm256_add_pd(q_acc_9_7,q_tmp_9_7);
+                   q_acc_9_8 = _mm256_add_pd(q_acc_9_8,q_tmp_9_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_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));
+                const __m256d elMatVec_4 = _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_4_0,src_dof_0),_mm256_mul_pd(q_acc_4_1,src_dof_1)),_mm256_mul_pd(q_acc_4_2,src_dof_2)),_mm256_mul_pd(q_acc_4_3,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)),_mm256_mul_pd(q_acc_4_6,src_dof_6)),_mm256_mul_pd(q_acc_4_7,src_dof_7)),_mm256_mul_pd(q_acc_4_8,src_dof_8)),_mm256_mul_pd(q_acc_4_9,src_dof_9));
+                const __m256d elMatVec_5 = _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_5_0,src_dof_0),_mm256_mul_pd(q_acc_5_1,src_dof_1)),_mm256_mul_pd(q_acc_5_2,src_dof_2)),_mm256_mul_pd(q_acc_5_3,src_dof_3)),_mm256_mul_pd(q_acc_5_4,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)),_mm256_mul_pd(q_acc_5_6,src_dof_6)),_mm256_mul_pd(q_acc_5_7,src_dof_7)),_mm256_mul_pd(q_acc_5_8,src_dof_8)),_mm256_mul_pd(q_acc_5_9,src_dof_9));
+                const __m256d elMatVec_6 = _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_6_0,src_dof_0),_mm256_mul_pd(q_acc_6_1,src_dof_1)),_mm256_mul_pd(q_acc_6_2,src_dof_2)),_mm256_mul_pd(q_acc_6_3,src_dof_3)),_mm256_mul_pd(q_acc_6_4,src_dof_4)),_mm256_mul_pd(q_acc_6_5,src_dof_5)),_mm256_mul_pd(q_acc_6_6,src_dof_6)),_mm256_mul_pd(q_acc_6_7,src_dof_7)),_mm256_mul_pd(q_acc_6_8,src_dof_8)),_mm256_mul_pd(q_acc_6_9,src_dof_9));
+                const __m256d elMatVec_7 = _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_7_0,src_dof_0),_mm256_mul_pd(q_acc_7_1,src_dof_1)),_mm256_mul_pd(q_acc_7_2,src_dof_2)),_mm256_mul_pd(q_acc_7_3,src_dof_3)),_mm256_mul_pd(q_acc_7_4,src_dof_4)),_mm256_mul_pd(q_acc_7_5,src_dof_5)),_mm256_mul_pd(q_acc_7_6,src_dof_6)),_mm256_mul_pd(q_acc_7_7,src_dof_7)),_mm256_mul_pd(q_acc_7_8,src_dof_8)),_mm256_mul_pd(q_acc_7_9,src_dof_9));
+                const __m256d elMatVec_8 = _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_8_0,src_dof_0),_mm256_mul_pd(q_acc_8_1,src_dof_1)),_mm256_mul_pd(q_acc_8_2,src_dof_2)),_mm256_mul_pd(q_acc_8_3,src_dof_3)),_mm256_mul_pd(q_acc_8_4,src_dof_4)),_mm256_mul_pd(q_acc_8_5,src_dof_5)),_mm256_mul_pd(q_acc_8_6,src_dof_6)),_mm256_mul_pd(q_acc_8_7,src_dof_7)),_mm256_mul_pd(q_acc_8_8,src_dof_8)),_mm256_mul_pd(q_acc_8_9,src_dof_9));
+                const __m256d elMatVec_9 = _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_9_0,src_dof_0),_mm256_mul_pd(q_acc_9_1,src_dof_1)),_mm256_mul_pd(q_acc_9_2,src_dof_2)),_mm256_mul_pd(q_acc_9_3,src_dof_3)),_mm256_mul_pd(q_acc_9_4,src_dof_4)),_mm256_mul_pd(q_acc_9_5,src_dof_5)),_mm256_mul_pd(q_acc_9_6,src_dof_6)),_mm256_mul_pd(q_acc_9_7,src_dof_7)),_mm256_mul_pd(q_acc_9_8,src_dof_8)),_mm256_mul_pd(q_acc_9_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_6,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_7,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_8,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_9,_mm256_loadu_pd(& _data_dstEdge[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))])));
+             }
+             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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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;
+                real_t q_acc_4_0 = 0.0;
+                real_t q_acc_4_1 = 0.0;
+                real_t q_acc_4_2 = 0.0;
+                real_t q_acc_4_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_4_5 = 0.0;
+                real_t q_acc_4_6 = 0.0;
+                real_t q_acc_4_7 = 0.0;
+                real_t q_acc_4_8 = 0.0;
+                real_t q_acc_4_9 = 0.0;
+                real_t q_acc_5_0 = 0.0;
+                real_t q_acc_5_1 = 0.0;
+                real_t q_acc_5_2 = 0.0;
+                real_t q_acc_5_3 = 0.0;
+                real_t q_acc_5_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_5_6 = 0.0;
+                real_t q_acc_5_7 = 0.0;
+                real_t q_acc_5_8 = 0.0;
+                real_t q_acc_5_9 = 0.0;
+                real_t q_acc_6_0 = 0.0;
+                real_t q_acc_6_1 = 0.0;
+                real_t q_acc_6_2 = 0.0;
+                real_t q_acc_6_3 = 0.0;
+                real_t q_acc_6_4 = 0.0;
+                real_t q_acc_6_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_6_7 = 0.0;
+                real_t q_acc_6_8 = 0.0;
+                real_t q_acc_6_9 = 0.0;
+                real_t q_acc_7_0 = 0.0;
+                real_t q_acc_7_1 = 0.0;
+                real_t q_acc_7_2 = 0.0;
+                real_t q_acc_7_3 = 0.0;
+                real_t q_acc_7_4 = 0.0;
+                real_t q_acc_7_5 = 0.0;
+                real_t q_acc_7_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_7_8 = 0.0;
+                real_t q_acc_7_9 = 0.0;
+                real_t q_acc_8_0 = 0.0;
+                real_t q_acc_8_1 = 0.0;
+                real_t q_acc_8_2 = 0.0;
+                real_t q_acc_8_3 = 0.0;
+                real_t q_acc_8_4 = 0.0;
+                real_t q_acc_8_5 = 0.0;
+                real_t q_acc_8_6 = 0.0;
+                real_t q_acc_8_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_8_9 = 0.0;
+                real_t q_acc_9_0 = 0.0;
+                real_t q_acc_9_1 = 0.0;
+                real_t q_acc_9_2 = 0.0;
+                real_t q_acc_9_3 = 0.0;
+                real_t q_acc_9_4 = 0.0;
+                real_t q_acc_9_5 = 0.0;
+                real_t q_acc_9_6 = 0.0;
+                real_t q_acc_9_7 = 0.0;
+                real_t q_acc_9_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_16 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_17 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_18 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18;
+                   const real_t tmp_qloop_20 = tmp_qloop_16 + tmp_qloop_19 - 3.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_17*_data_q_p_1[q];
+                   const real_t tmp_qloop_22 = tmp_qloop_17*_data_q_p_2[q];
+                   const real_t tmp_qloop_23 = tmp_qloop_18*_data_q_p_2[q];
+                   const real_t tmp_qloop_24 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_25 = tmp_qloop_24*2.0;
+                   const real_t tmp_qloop_26 = tmp_qloop_25 - _data_q_p_0[q];
+                   const real_t tmp_qloop_27 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_28 = tmp_qloop_27*2.0;
+                   const real_t tmp_qloop_29 = tmp_qloop_28 - _data_q_p_1[q];
+                   const real_t tmp_qloop_30 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_31 = tmp_qloop_30*2.0;
+                   const real_t tmp_qloop_32 = tmp_qloop_31 - _data_q_p_2[q];
+                   const real_t tmp_qloop_33 = tmp_qloop_16 - tmp_qloop_22 - tmp_qloop_23 + tmp_qloop_30*-4.0;
+                   const real_t tmp_qloop_34 = tmp_qloop_18 - tmp_qloop_21 - tmp_qloop_23 + tmp_qloop_27*-4.0;
+                   const real_t tmp_qloop_35 = tmp_qloop_21 + tmp_qloop_22;
+                   const real_t tmp_qloop_36 = tmp_qloop_17 + tmp_qloop_24*-4.0 - tmp_qloop_35;
+                   const real_t tmp_qloop_37 = tmp_qloop_23 + tmp_qloop_25 + tmp_qloop_28 + tmp_qloop_31 + tmp_qloop_35 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                   const real_t tmp_qloop_38 = tmp_qloop_21*wx_dof_6 + tmp_qloop_22*wx_dof_5 + tmp_qloop_23*wx_dof_4 + tmp_qloop_26*wx_dof_1 + tmp_qloop_29*wx_dof_2 + tmp_qloop_32*wx_dof_3 + tmp_qloop_33*wx_dof_7 + tmp_qloop_34*wx_dof_8 + tmp_qloop_36*wx_dof_9 + tmp_qloop_37*wx_dof_0;
+                   const real_t tmp_qloop_39 = tmp_qloop_21*wy_dof_6 + tmp_qloop_22*wy_dof_5 + tmp_qloop_23*wy_dof_4 + tmp_qloop_26*wy_dof_1 + tmp_qloop_29*wy_dof_2 + tmp_qloop_32*wy_dof_3 + tmp_qloop_33*wy_dof_7 + tmp_qloop_34*wy_dof_8 + tmp_qloop_36*wy_dof_9 + tmp_qloop_37*wy_dof_0;
+                   const real_t tmp_qloop_40 = tmp_qloop_21*wz_dof_6 + tmp_qloop_22*wz_dof_5 + tmp_qloop_23*wz_dof_4 + tmp_qloop_26*wz_dof_1 + tmp_qloop_29*wz_dof_2 + tmp_qloop_32*wz_dof_3 + tmp_qloop_33*wz_dof_7 + tmp_qloop_34*wz_dof_8 + tmp_qloop_36*wz_dof_9 + tmp_qloop_37*wz_dof_0;
+                   const real_t tmp_qloop_41 = abs_det_jac_affine_WHITE_UP*(diffusivity_times_delta_dof_0*tmp_qloop_37 + diffusivity_times_delta_dof_1*tmp_qloop_26 + diffusivity_times_delta_dof_2*tmp_qloop_29 + diffusivity_times_delta_dof_3*tmp_qloop_32 + diffusivity_times_delta_dof_4*tmp_qloop_23 + diffusivity_times_delta_dof_5*tmp_qloop_22 + diffusivity_times_delta_dof_6*tmp_qloop_21 + diffusivity_times_delta_dof_7*tmp_qloop_33 + diffusivity_times_delta_dof_8*tmp_qloop_34 + diffusivity_times_delta_dof_9*tmp_qloop_36)*_data_q_w[q];
+                   const real_t tmp_qloop_42 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_20 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_20 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_20) + tmp_qloop_39*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_20 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_20 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_20) + tmp_qloop_40*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_20 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_20 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_20));
+                   const real_t tmp_qloop_61 = tmp_qloop_17 - 1.0;
+                   const real_t tmp_qloop_62 = tmp_qloop_41*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_38*tmp_qloop_61 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_39*tmp_qloop_61 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_40*tmp_qloop_61);
+                   const real_t tmp_qloop_63 = tmp_qloop_18 - 1.0;
+                   const real_t tmp_qloop_64 = tmp_qloop_41*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_38*tmp_qloop_63 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_39*tmp_qloop_63 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_40*tmp_qloop_63);
+                   const real_t tmp_qloop_65 = tmp_qloop_16 - 1.0;
+                   const real_t tmp_qloop_66 = tmp_qloop_41*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_38*tmp_qloop_65 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_39*tmp_qloop_65 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_40*tmp_qloop_65);
+                   const real_t tmp_qloop_67 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_18;
+                   const real_t tmp_qloop_68 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_16;
+                   const real_t tmp_qloop_69 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_18;
+                   const real_t tmp_qloop_70 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_16;
+                   const real_t tmp_qloop_71 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_18;
+                   const real_t tmp_qloop_72 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_16;
+                   const real_t tmp_qloop_73 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_67 + tmp_qloop_68) + tmp_qloop_39*(tmp_qloop_69 + tmp_qloop_70) + tmp_qloop_40*(tmp_qloop_71 + tmp_qloop_72));
+                   const real_t tmp_qloop_74 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_17;
+                   const real_t tmp_qloop_75 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_16;
+                   const real_t tmp_qloop_76 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_17;
+                   const real_t tmp_qloop_77 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_16;
+                   const real_t tmp_qloop_78 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_17;
+                   const real_t tmp_qloop_79 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_16;
+                   const real_t tmp_qloop_80 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_74 + tmp_qloop_75) + tmp_qloop_39*(tmp_qloop_76 + tmp_qloop_77) + tmp_qloop_40*(tmp_qloop_78 + tmp_qloop_79));
+                   const real_t tmp_qloop_81 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_17;
+                   const real_t tmp_qloop_82 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_18;
+                   const real_t tmp_qloop_83 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_17;
+                   const real_t tmp_qloop_84 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_18;
+                   const real_t tmp_qloop_85 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_17;
+                   const real_t tmp_qloop_86 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_18;
+                   const real_t tmp_qloop_87 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_81 + tmp_qloop_82) + tmp_qloop_39*(tmp_qloop_83 + tmp_qloop_84) + tmp_qloop_40*(tmp_qloop_85 + tmp_qloop_86));
+                   const real_t tmp_qloop_88 = -tmp_qloop_19 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_89 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_88 - tmp_qloop_68 - tmp_qloop_75) + tmp_qloop_39*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_88 - tmp_qloop_70 - tmp_qloop_77) + tmp_qloop_40*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_88 - tmp_qloop_72 - tmp_qloop_79));
+                   const real_t tmp_qloop_90 = tmp_qloop_16 - 4.0;
+                   const real_t tmp_qloop_91 = -tmp_qloop_17 - tmp_qloop_90 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_92 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_91 - tmp_qloop_67 - tmp_qloop_82) + tmp_qloop_39*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_91 - tmp_qloop_69 - tmp_qloop_84) + tmp_qloop_40*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_91 - tmp_qloop_71 - tmp_qloop_86));
+                   const real_t tmp_qloop_93 = -tmp_qloop_18 - tmp_qloop_90 - 8.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_94 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_93 - tmp_qloop_74 - tmp_qloop_81) + tmp_qloop_39*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_93 - tmp_qloop_76 - tmp_qloop_83) + tmp_qloop_40*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_93 - tmp_qloop_78 - tmp_qloop_85));
+                   const real_t q_tmp_0_0 = tmp_qloop_15*tmp_qloop_42;
+                   const real_t q_tmp_0_1 = tmp_qloop_42*tmp_qloop_43;
+                   const real_t q_tmp_0_2 = tmp_qloop_42*tmp_qloop_44;
+                   const real_t q_tmp_0_3 = tmp_qloop_42*tmp_qloop_45;
+                   const real_t q_tmp_0_4 = tmp_qloop_42*tmp_qloop_49;
+                   const real_t q_tmp_0_5 = tmp_qloop_42*tmp_qloop_50;
+                   const real_t q_tmp_0_6 = tmp_qloop_42*tmp_qloop_54;
+                   const real_t q_tmp_0_7 = tmp_qloop_42*tmp_qloop_57;
+                   const real_t q_tmp_0_8 = tmp_qloop_42*tmp_qloop_59;
+                   const real_t q_tmp_0_9 = tmp_qloop_42*tmp_qloop_60;
+                   const real_t q_tmp_1_0 = tmp_qloop_15*tmp_qloop_62;
+                   const real_t q_tmp_1_1 = tmp_qloop_43*tmp_qloop_62;
+                   const real_t q_tmp_1_2 = tmp_qloop_44*tmp_qloop_62;
+                   const real_t q_tmp_1_3 = tmp_qloop_45*tmp_qloop_62;
+                   const real_t q_tmp_1_4 = tmp_qloop_49*tmp_qloop_62;
+                   const real_t q_tmp_1_5 = tmp_qloop_50*tmp_qloop_62;
+                   const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                   const real_t q_tmp_1_7 = tmp_qloop_57*tmp_qloop_62;
+                   const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                   const real_t q_tmp_1_9 = tmp_qloop_60*tmp_qloop_62;
+                   const real_t q_tmp_2_0 = tmp_qloop_15*tmp_qloop_64;
+                   const real_t q_tmp_2_1 = tmp_qloop_43*tmp_qloop_64;
+                   const real_t q_tmp_2_2 = tmp_qloop_44*tmp_qloop_64;
+                   const real_t q_tmp_2_3 = tmp_qloop_45*tmp_qloop_64;
+                   const real_t q_tmp_2_4 = tmp_qloop_49*tmp_qloop_64;
+                   const real_t q_tmp_2_5 = tmp_qloop_50*tmp_qloop_64;
+                   const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_64;
+                   const real_t q_tmp_2_7 = tmp_qloop_57*tmp_qloop_64;
+                   const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_64;
+                   const real_t q_tmp_2_9 = tmp_qloop_60*tmp_qloop_64;
+                   const real_t q_tmp_3_0 = tmp_qloop_15*tmp_qloop_66;
+                   const real_t q_tmp_3_1 = tmp_qloop_43*tmp_qloop_66;
+                   const real_t q_tmp_3_2 = tmp_qloop_44*tmp_qloop_66;
+                   const real_t q_tmp_3_3 = tmp_qloop_45*tmp_qloop_66;
+                   const real_t q_tmp_3_4 = tmp_qloop_49*tmp_qloop_66;
+                   const real_t q_tmp_3_5 = tmp_qloop_50*tmp_qloop_66;
+                   const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_66;
+                   const real_t q_tmp_3_7 = tmp_qloop_57*tmp_qloop_66;
+                   const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_66;
+                   const real_t q_tmp_3_9 = tmp_qloop_60*tmp_qloop_66;
+                   const real_t q_tmp_4_0 = tmp_qloop_15*tmp_qloop_73;
+                   const real_t q_tmp_4_1 = tmp_qloop_43*tmp_qloop_73;
+                   const real_t q_tmp_4_2 = tmp_qloop_44*tmp_qloop_73;
+                   const real_t q_tmp_4_3 = tmp_qloop_45*tmp_qloop_73;
+                   const real_t q_tmp_4_4 = tmp_qloop_49*tmp_qloop_73;
+                   const real_t q_tmp_4_5 = tmp_qloop_50*tmp_qloop_73;
+                   const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_73;
+                   const real_t q_tmp_4_7 = tmp_qloop_57*tmp_qloop_73;
+                   const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_73;
+                   const real_t q_tmp_4_9 = tmp_qloop_60*tmp_qloop_73;
+                   const real_t q_tmp_5_0 = tmp_qloop_15*tmp_qloop_80;
+                   const real_t q_tmp_5_1 = tmp_qloop_43*tmp_qloop_80;
+                   const real_t q_tmp_5_2 = tmp_qloop_44*tmp_qloop_80;
+                   const real_t q_tmp_5_3 = tmp_qloop_45*tmp_qloop_80;
+                   const real_t q_tmp_5_4 = tmp_qloop_49*tmp_qloop_80;
+                   const real_t q_tmp_5_5 = tmp_qloop_50*tmp_qloop_80;
+                   const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_80;
+                   const real_t q_tmp_5_7 = tmp_qloop_57*tmp_qloop_80;
+                   const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_80;
+                   const real_t q_tmp_5_9 = tmp_qloop_60*tmp_qloop_80;
+                   const real_t q_tmp_6_0 = tmp_qloop_15*tmp_qloop_87;
+                   const real_t q_tmp_6_1 = tmp_qloop_43*tmp_qloop_87;
+                   const real_t q_tmp_6_2 = tmp_qloop_44*tmp_qloop_87;
+                   const real_t q_tmp_6_3 = tmp_qloop_45*tmp_qloop_87;
+                   const real_t q_tmp_6_4 = tmp_qloop_49*tmp_qloop_87;
+                   const real_t q_tmp_6_5 = tmp_qloop_50*tmp_qloop_87;
+                   const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_87;
+                   const real_t q_tmp_6_7 = tmp_qloop_57*tmp_qloop_87;
+                   const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_87;
+                   const real_t q_tmp_6_9 = tmp_qloop_60*tmp_qloop_87;
+                   const real_t q_tmp_7_0 = tmp_qloop_15*tmp_qloop_89;
+                   const real_t q_tmp_7_1 = tmp_qloop_43*tmp_qloop_89;
+                   const real_t q_tmp_7_2 = tmp_qloop_44*tmp_qloop_89;
+                   const real_t q_tmp_7_3 = tmp_qloop_45*tmp_qloop_89;
+                   const real_t q_tmp_7_4 = tmp_qloop_49*tmp_qloop_89;
+                   const real_t q_tmp_7_5 = tmp_qloop_50*tmp_qloop_89;
+                   const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_89;
+                   const real_t q_tmp_7_7 = tmp_qloop_57*tmp_qloop_89;
+                   const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_89;
+                   const real_t q_tmp_7_9 = tmp_qloop_60*tmp_qloop_89;
+                   const real_t q_tmp_8_0 = tmp_qloop_15*tmp_qloop_92;
+                   const real_t q_tmp_8_1 = tmp_qloop_43*tmp_qloop_92;
+                   const real_t q_tmp_8_2 = tmp_qloop_44*tmp_qloop_92;
+                   const real_t q_tmp_8_3 = tmp_qloop_45*tmp_qloop_92;
+                   const real_t q_tmp_8_4 = tmp_qloop_49*tmp_qloop_92;
+                   const real_t q_tmp_8_5 = tmp_qloop_50*tmp_qloop_92;
+                   const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_92;
+                   const real_t q_tmp_8_7 = tmp_qloop_57*tmp_qloop_92;
+                   const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_92;
+                   const real_t q_tmp_8_9 = tmp_qloop_60*tmp_qloop_92;
+                   const real_t q_tmp_9_0 = tmp_qloop_15*tmp_qloop_94;
+                   const real_t q_tmp_9_1 = tmp_qloop_43*tmp_qloop_94;
+                   const real_t q_tmp_9_2 = tmp_qloop_44*tmp_qloop_94;
+                   const real_t q_tmp_9_3 = tmp_qloop_45*tmp_qloop_94;
+                   const real_t q_tmp_9_4 = tmp_qloop_49*tmp_qloop_94;
+                   const real_t q_tmp_9_5 = tmp_qloop_50*tmp_qloop_94;
+                   const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_94;
+                   const real_t q_tmp_9_7 = tmp_qloop_57*tmp_qloop_94;
+                   const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_94;
+                   const real_t q_tmp_9_9 = tmp_qloop_60*tmp_qloop_94;
+                   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;
+                   q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                   q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                   q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                   q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                   q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                   q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                   q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                   q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                   q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                   q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                   q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                   q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                   q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                   q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                   q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                   q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                   q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                   q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                   q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                   q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                   q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                   q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                   q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                   q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                   q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                   q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                   q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                   q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                   q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                   q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                   q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                   q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                   q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                   q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                   q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                   q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                   q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                   q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                   q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                   q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                   q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                   q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                   q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                   q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                   q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                   q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                   q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                   q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                   q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+                const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+                const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+                const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+                const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+                const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+                const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+                _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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))] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_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 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_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 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_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 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN;
+       const real_t tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN);
+       const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN);
+       const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN);
+       const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN);
+       const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN);
+       const real_t tmp_moved_constant_0 = jac_affine_inv_2_0_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_1 = jac_affine_inv_0_0_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_2 = jac_affine_inv_1_0_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_3 = tmp_moved_constant_1 + tmp_moved_constant_2;
+       const real_t tmp_moved_constant_4 = tmp_moved_constant_0 + tmp_moved_constant_3;
+       const real_t tmp_moved_constant_5 = jac_affine_inv_2_1_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_6 = jac_affine_inv_0_1_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_7 = jac_affine_inv_1_1_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_8 = tmp_moved_constant_6 + tmp_moved_constant_7;
+       const real_t tmp_moved_constant_9 = tmp_moved_constant_5 + tmp_moved_constant_8;
+       const real_t tmp_moved_constant_10 = jac_affine_inv_2_2_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_11 = jac_affine_inv_0_2_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_12 = jac_affine_inv_1_2_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_13 = tmp_moved_constant_11 + tmp_moved_constant_12;
+       const real_t tmp_moved_constant_14 = tmp_moved_constant_10 + tmp_moved_constant_13;
+       const real_t tmp_moved_constant_15 = jac_affine_inv_0_0_WHITE_DOWN*tmp_moved_constant_4 + jac_affine_inv_0_1_WHITE_DOWN*tmp_moved_constant_9 + jac_affine_inv_0_2_WHITE_DOWN*tmp_moved_constant_14 + jac_affine_inv_1_0_WHITE_DOWN*tmp_moved_constant_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_moved_constant_9 + jac_affine_inv_1_2_WHITE_DOWN*tmp_moved_constant_14 + jac_affine_inv_2_0_WHITE_DOWN*tmp_moved_constant_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_moved_constant_9 + jac_affine_inv_2_2_WHITE_DOWN*tmp_moved_constant_14;
+       const real_t tmp_moved_constant_16 = (jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN)*4.0 + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN)*4.0 + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)*4.0;
+       const real_t tmp_moved_constant_17 = (jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN)*4.0 + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN)*4.0 + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)*4.0;
+       const real_t tmp_moved_constant_18 = (jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN)*4.0 + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN)*4.0 + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)*4.0;
+       const real_t tmp_moved_constant_19 = jac_affine_inv_2_0_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_20 = jac_affine_inv_2_1_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_21 = jac_affine_inv_2_2_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_22 = jac_affine_inv_1_0_WHITE_DOWN*tmp_moved_constant_19 + jac_affine_inv_1_1_WHITE_DOWN*tmp_moved_constant_20 + jac_affine_inv_1_2_WHITE_DOWN*tmp_moved_constant_21;
+       const real_t tmp_moved_constant_23 = jac_affine_inv_0_0_WHITE_DOWN*tmp_moved_constant_19 + jac_affine_inv_0_1_WHITE_DOWN*tmp_moved_constant_20 + jac_affine_inv_0_2_WHITE_DOWN*tmp_moved_constant_21;
+       const real_t tmp_moved_constant_24 = jac_affine_inv_1_0_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_25 = jac_affine_inv_1_1_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_26 = jac_affine_inv_1_2_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_27 = jac_affine_inv_0_0_WHITE_DOWN*tmp_moved_constant_24 + jac_affine_inv_0_1_WHITE_DOWN*tmp_moved_constant_25 + jac_affine_inv_0_2_WHITE_DOWN*tmp_moved_constant_26;
+       const real_t tmp_moved_constant_28 = jac_affine_inv_2_0_WHITE_DOWN*tmp_moved_constant_2 + jac_affine_inv_2_1_WHITE_DOWN*tmp_moved_constant_7 + jac_affine_inv_2_2_WHITE_DOWN*tmp_moved_constant_12;
+       const real_t tmp_moved_constant_29 = jac_affine_inv_2_0_WHITE_DOWN*tmp_moved_constant_1 + jac_affine_inv_2_1_WHITE_DOWN*tmp_moved_constant_6 + jac_affine_inv_2_2_WHITE_DOWN*tmp_moved_constant_11;
+       const real_t tmp_moved_constant_30 = jac_affine_inv_2_0_WHITE_DOWN*(-tmp_moved_constant_19 - tmp_moved_constant_3) + jac_affine_inv_2_1_WHITE_DOWN*(-tmp_moved_constant_20 - tmp_moved_constant_8) + jac_affine_inv_2_2_WHITE_DOWN*(-tmp_moved_constant_13 - tmp_moved_constant_21) - tmp_moved_constant_28 - tmp_moved_constant_29;
+       const real_t tmp_moved_constant_31 = jac_affine_inv_1_0_WHITE_DOWN*tmp_moved_constant_1 + jac_affine_inv_1_1_WHITE_DOWN*tmp_moved_constant_6 + jac_affine_inv_1_2_WHITE_DOWN*tmp_moved_constant_11;
+       const real_t tmp_moved_constant_32 = jac_affine_inv_1_0_WHITE_DOWN*(-tmp_moved_constant_0 - tmp_moved_constant_1 - tmp_moved_constant_24) + jac_affine_inv_1_1_WHITE_DOWN*(-tmp_moved_constant_25 - tmp_moved_constant_5 - tmp_moved_constant_6) + jac_affine_inv_1_2_WHITE_DOWN*(-tmp_moved_constant_10 - tmp_moved_constant_11 - tmp_moved_constant_26) - tmp_moved_constant_28 - tmp_moved_constant_31;
+       const real_t tmp_moved_constant_33 = jac_affine_inv_0_0_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*-8.0 - tmp_moved_constant_0 - tmp_moved_constant_2) + jac_affine_inv_0_1_WHITE_DOWN*(jac_affine_inv_0_1_WHITE_DOWN*-8.0 - tmp_moved_constant_5 - tmp_moved_constant_7) + jac_affine_inv_0_2_WHITE_DOWN*(jac_affine_inv_0_2_WHITE_DOWN*-8.0 - tmp_moved_constant_10 - tmp_moved_constant_12) - tmp_moved_constant_29 - tmp_moved_constant_31;
+       {
+          /* CellType.WHITE_DOWN */
+          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 diffusivity_times_delta_dof_0 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_1 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_2 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_3 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_4 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_5 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_6 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_7 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_8 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_9 = _mm256_loadu_pd(& _data_wxEdge[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 wy_dof_0 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_1 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_2 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_3 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_4 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_5 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_6 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_7 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_8 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_9 = _mm256_loadu_pd(& _data_wyEdge[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 wz_dof_0 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_1 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_2 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_3 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_4 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_5 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_6 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_7 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_8 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_9 = _mm256_loadu_pd(& _data_wzEdge[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);
+                __m256d q_acc_4_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_16 = _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]));
+                   const __m256d tmp_qloop_17 = _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_18 = _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]));
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_17,tmp_qloop_18);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_16),tmp_qloop_19);
+                   const __m256d tmp_qloop_21 = _mm256_mul_pd(tmp_qloop_17,_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_22 = _mm256_mul_pd(tmp_qloop_17,_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_23 = _mm256_mul_pd(tmp_qloop_18,_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_24 = _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_25 = _mm256_mul_pd(tmp_qloop_24,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_26 = _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_25);
+                   const __m256d tmp_qloop_27 = _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_28 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_29 = _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_28);
+                   const __m256d tmp_qloop_30 = _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_31 = _mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_32 = _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_31);
+                   const __m256d tmp_qloop_33 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_16);
+                   const __m256d tmp_qloop_34 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_18);
+                   const __m256d tmp_qloop_35 = _mm256_add_pd(tmp_qloop_21,tmp_qloop_22);
+                   const __m256d tmp_qloop_36 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_24,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_17);
+                   const __m256d tmp_qloop_37 = _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_23),tmp_qloop_25),tmp_qloop_28),tmp_qloop_31),tmp_qloop_35);
+                   const __m256d tmp_qloop_38 = _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(tmp_qloop_21,wx_dof_6),_mm256_mul_pd(tmp_qloop_22,wx_dof_5)),_mm256_mul_pd(tmp_qloop_23,wx_dof_4)),_mm256_mul_pd(tmp_qloop_26,wx_dof_1)),_mm256_mul_pd(tmp_qloop_29,wx_dof_2)),_mm256_mul_pd(tmp_qloop_32,wx_dof_3)),_mm256_mul_pd(tmp_qloop_33,wx_dof_7)),_mm256_mul_pd(tmp_qloop_34,wx_dof_8)),_mm256_mul_pd(tmp_qloop_36,wx_dof_9)),_mm256_mul_pd(tmp_qloop_37,wx_dof_0));
+                   const __m256d tmp_qloop_39 = _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(tmp_qloop_21,wy_dof_6),_mm256_mul_pd(tmp_qloop_22,wy_dof_5)),_mm256_mul_pd(tmp_qloop_23,wy_dof_4)),_mm256_mul_pd(tmp_qloop_26,wy_dof_1)),_mm256_mul_pd(tmp_qloop_29,wy_dof_2)),_mm256_mul_pd(tmp_qloop_32,wy_dof_3)),_mm256_mul_pd(tmp_qloop_33,wy_dof_7)),_mm256_mul_pd(tmp_qloop_34,wy_dof_8)),_mm256_mul_pd(tmp_qloop_36,wy_dof_9)),_mm256_mul_pd(tmp_qloop_37,wy_dof_0));
+                   const __m256d tmp_qloop_40 = _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(tmp_qloop_21,wz_dof_6),_mm256_mul_pd(tmp_qloop_22,wz_dof_5)),_mm256_mul_pd(tmp_qloop_23,wz_dof_4)),_mm256_mul_pd(tmp_qloop_26,wz_dof_1)),_mm256_mul_pd(tmp_qloop_29,wz_dof_2)),_mm256_mul_pd(tmp_qloop_32,wz_dof_3)),_mm256_mul_pd(tmp_qloop_33,wz_dof_7)),_mm256_mul_pd(tmp_qloop_34,wz_dof_8)),_mm256_mul_pd(tmp_qloop_36,wz_dof_9)),_mm256_mul_pd(tmp_qloop_37,wz_dof_0));
+                   const __m256d tmp_qloop_41 = _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(diffusivity_times_delta_dof_0,tmp_qloop_37),_mm256_mul_pd(diffusivity_times_delta_dof_1,tmp_qloop_26)),_mm256_mul_pd(diffusivity_times_delta_dof_2,tmp_qloop_29)),_mm256_mul_pd(diffusivity_times_delta_dof_3,tmp_qloop_32)),_mm256_mul_pd(diffusivity_times_delta_dof_4,tmp_qloop_23)),_mm256_mul_pd(diffusivity_times_delta_dof_5,tmp_qloop_22)),_mm256_mul_pd(diffusivity_times_delta_dof_6,tmp_qloop_21)),_mm256_mul_pd(diffusivity_times_delta_dof_7,tmp_qloop_33)),_mm256_mul_pd(diffusivity_times_delta_dof_8,tmp_qloop_34)),_mm256_mul_pd(diffusivity_times_delta_dof_9,tmp_qloop_36)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))))));
+                   const __m256d tmp_qloop_61 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_17);
+                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_61),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,tmp_qloop_61),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,tmp_qloop_61),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))));
+                   const __m256d tmp_qloop_63 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_18);
+                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_63),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,tmp_qloop_63),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,tmp_qloop_63),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))));
+                   const __m256d tmp_qloop_65 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_16);
+                   const __m256d tmp_qloop_66 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_65),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,tmp_qloop_65),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,tmp_qloop_65),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))));
+                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_68 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_69 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_70 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_71 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_72 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_73 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(tmp_qloop_67,tmp_qloop_68)),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(tmp_qloop_69,tmp_qloop_70))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(tmp_qloop_71,tmp_qloop_72))));
+                   const __m256d tmp_qloop_74 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_75 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_76 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_77 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_78 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_79 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_80 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(tmp_qloop_74,tmp_qloop_75)),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(tmp_qloop_76,tmp_qloop_77))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(tmp_qloop_78,tmp_qloop_79))));
+                   const __m256d tmp_qloop_81 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_82 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_83 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_84 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_85 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_86 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_87 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(tmp_qloop_81,tmp_qloop_82)),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(tmp_qloop_83,tmp_qloop_84))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(tmp_qloop_85,tmp_qloop_86))));
+                   const __m256d tmp_qloop_88 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_89 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_75,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_88,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_70,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_77,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_88,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_79,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_88,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))))));
+                   const __m256d tmp_qloop_90 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_16);
+                   const __m256d tmp_qloop_91 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_90,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_92 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_82,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_91,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_69,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_84,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_91,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_86,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_91,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))))));
+                   const __m256d tmp_qloop_93 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_90,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_94 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_81,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_93,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_76,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_83,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_93,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_78,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_85,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_93,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))))));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23));
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27));
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30));
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32));
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18));
+                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22));
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23));
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27));
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30));
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32));
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22));
+                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23));
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27));
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30));
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32));
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33));
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15));
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16));
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22));
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23));
+                   const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27));
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30));
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32));
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33));
+                   const __m256d q_tmp_4_0 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15));
+                   const __m256d q_tmp_4_1 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16));
+                   const __m256d q_tmp_4_2 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17));
+                   const __m256d q_tmp_4_3 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22));
+                   const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23));
+                   const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27));
+                   const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30));
+                   const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32));
+                   const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33));
+                   const __m256d q_tmp_5_0 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15));
+                   const __m256d q_tmp_5_1 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16));
+                   const __m256d q_tmp_5_2 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17));
+                   const __m256d q_tmp_5_3 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18));
+                   const __m256d q_tmp_5_4 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23));
+                   const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27));
+                   const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30));
+                   const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32));
+                   const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33));
+                   const __m256d q_tmp_6_0 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15));
+                   const __m256d q_tmp_6_1 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16));
+                   const __m256d q_tmp_6_2 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17));
+                   const __m256d q_tmp_6_3 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18));
+                   const __m256d q_tmp_6_4 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22));
+                   const __m256d q_tmp_6_5 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27));
+                   const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30));
+                   const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32));
+                   const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33));
+                   const __m256d q_tmp_7_0 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15));
+                   const __m256d q_tmp_7_1 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16));
+                   const __m256d q_tmp_7_2 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17));
+                   const __m256d q_tmp_7_3 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18));
+                   const __m256d q_tmp_7_4 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22));
+                   const __m256d q_tmp_7_5 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23));
+                   const __m256d q_tmp_7_6 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30));
+                   const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32));
+                   const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33));
+                   const __m256d q_tmp_8_0 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15));
+                   const __m256d q_tmp_8_1 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16));
+                   const __m256d q_tmp_8_2 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17));
+                   const __m256d q_tmp_8_3 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18));
+                   const __m256d q_tmp_8_4 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22));
+                   const __m256d q_tmp_8_5 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23));
+                   const __m256d q_tmp_8_6 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27));
+                   const __m256d q_tmp_8_7 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32));
+                   const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33));
+                   const __m256d q_tmp_9_0 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15));
+                   const __m256d q_tmp_9_1 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16));
+                   const __m256d q_tmp_9_2 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17));
+                   const __m256d q_tmp_9_3 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18));
+                   const __m256d q_tmp_9_4 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22));
+                   const __m256d q_tmp_9_5 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23));
+                   const __m256d q_tmp_9_6 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27));
+                   const __m256d q_tmp_9_7 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30));
+                   const __m256d q_tmp_9_8 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33));
+                   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);
+                   q_acc_4_0 = _mm256_add_pd(q_acc_4_0,q_tmp_4_0);
+                   q_acc_4_1 = _mm256_add_pd(q_acc_4_1,q_tmp_4_1);
+                   q_acc_4_2 = _mm256_add_pd(q_acc_4_2,q_tmp_4_2);
+                   q_acc_4_3 = _mm256_add_pd(q_acc_4_3,q_tmp_4_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5);
+                   q_acc_4_6 = _mm256_add_pd(q_acc_4_6,q_tmp_4_6);
+                   q_acc_4_7 = _mm256_add_pd(q_acc_4_7,q_tmp_4_7);
+                   q_acc_4_8 = _mm256_add_pd(q_acc_4_8,q_tmp_4_8);
+                   q_acc_4_9 = _mm256_add_pd(q_acc_4_9,q_tmp_4_9);
+                   q_acc_5_0 = _mm256_add_pd(q_acc_5_0,q_tmp_5_0);
+                   q_acc_5_1 = _mm256_add_pd(q_acc_5_1,q_tmp_5_1);
+                   q_acc_5_2 = _mm256_add_pd(q_acc_5_2,q_tmp_5_2);
+                   q_acc_5_3 = _mm256_add_pd(q_acc_5_3,q_tmp_5_3);
+                   q_acc_5_4 = _mm256_add_pd(q_acc_5_4,q_tmp_5_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_5_6 = _mm256_add_pd(q_acc_5_6,q_tmp_5_6);
+                   q_acc_5_7 = _mm256_add_pd(q_acc_5_7,q_tmp_5_7);
+                   q_acc_5_8 = _mm256_add_pd(q_acc_5_8,q_tmp_5_8);
+                   q_acc_5_9 = _mm256_add_pd(q_acc_5_9,q_tmp_5_9);
+                   q_acc_6_0 = _mm256_add_pd(q_acc_6_0,q_tmp_6_0);
+                   q_acc_6_1 = _mm256_add_pd(q_acc_6_1,q_tmp_6_1);
+                   q_acc_6_2 = _mm256_add_pd(q_acc_6_2,q_tmp_6_2);
+                   q_acc_6_3 = _mm256_add_pd(q_acc_6_3,q_tmp_6_3);
+                   q_acc_6_4 = _mm256_add_pd(q_acc_6_4,q_tmp_6_4);
+                   q_acc_6_5 = _mm256_add_pd(q_acc_6_5,q_tmp_6_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_6_7 = _mm256_add_pd(q_acc_6_7,q_tmp_6_7);
+                   q_acc_6_8 = _mm256_add_pd(q_acc_6_8,q_tmp_6_8);
+                   q_acc_6_9 = _mm256_add_pd(q_acc_6_9,q_tmp_6_9);
+                   q_acc_7_0 = _mm256_add_pd(q_acc_7_0,q_tmp_7_0);
+                   q_acc_7_1 = _mm256_add_pd(q_acc_7_1,q_tmp_7_1);
+                   q_acc_7_2 = _mm256_add_pd(q_acc_7_2,q_tmp_7_2);
+                   q_acc_7_3 = _mm256_add_pd(q_acc_7_3,q_tmp_7_3);
+                   q_acc_7_4 = _mm256_add_pd(q_acc_7_4,q_tmp_7_4);
+                   q_acc_7_5 = _mm256_add_pd(q_acc_7_5,q_tmp_7_5);
+                   q_acc_7_6 = _mm256_add_pd(q_acc_7_6,q_tmp_7_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_7_8 = _mm256_add_pd(q_acc_7_8,q_tmp_7_8);
+                   q_acc_7_9 = _mm256_add_pd(q_acc_7_9,q_tmp_7_9);
+                   q_acc_8_0 = _mm256_add_pd(q_acc_8_0,q_tmp_8_0);
+                   q_acc_8_1 = _mm256_add_pd(q_acc_8_1,q_tmp_8_1);
+                   q_acc_8_2 = _mm256_add_pd(q_acc_8_2,q_tmp_8_2);
+                   q_acc_8_3 = _mm256_add_pd(q_acc_8_3,q_tmp_8_3);
+                   q_acc_8_4 = _mm256_add_pd(q_acc_8_4,q_tmp_8_4);
+                   q_acc_8_5 = _mm256_add_pd(q_acc_8_5,q_tmp_8_5);
+                   q_acc_8_6 = _mm256_add_pd(q_acc_8_6,q_tmp_8_6);
+                   q_acc_8_7 = _mm256_add_pd(q_acc_8_7,q_tmp_8_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_8_9 = _mm256_add_pd(q_acc_8_9,q_tmp_8_9);
+                   q_acc_9_0 = _mm256_add_pd(q_acc_9_0,q_tmp_9_0);
+                   q_acc_9_1 = _mm256_add_pd(q_acc_9_1,q_tmp_9_1);
+                   q_acc_9_2 = _mm256_add_pd(q_acc_9_2,q_tmp_9_2);
+                   q_acc_9_3 = _mm256_add_pd(q_acc_9_3,q_tmp_9_3);
+                   q_acc_9_4 = _mm256_add_pd(q_acc_9_4,q_tmp_9_4);
+                   q_acc_9_5 = _mm256_add_pd(q_acc_9_5,q_tmp_9_5);
+                   q_acc_9_6 = _mm256_add_pd(q_acc_9_6,q_tmp_9_6);
+                   q_acc_9_7 = _mm256_add_pd(q_acc_9_7,q_tmp_9_7);
+                   q_acc_9_8 = _mm256_add_pd(q_acc_9_8,q_tmp_9_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_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));
+                const __m256d elMatVec_4 = _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_4_0,src_dof_0),_mm256_mul_pd(q_acc_4_1,src_dof_1)),_mm256_mul_pd(q_acc_4_2,src_dof_2)),_mm256_mul_pd(q_acc_4_3,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)),_mm256_mul_pd(q_acc_4_6,src_dof_6)),_mm256_mul_pd(q_acc_4_7,src_dof_7)),_mm256_mul_pd(q_acc_4_8,src_dof_8)),_mm256_mul_pd(q_acc_4_9,src_dof_9));
+                const __m256d elMatVec_5 = _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_5_0,src_dof_0),_mm256_mul_pd(q_acc_5_1,src_dof_1)),_mm256_mul_pd(q_acc_5_2,src_dof_2)),_mm256_mul_pd(q_acc_5_3,src_dof_3)),_mm256_mul_pd(q_acc_5_4,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)),_mm256_mul_pd(q_acc_5_6,src_dof_6)),_mm256_mul_pd(q_acc_5_7,src_dof_7)),_mm256_mul_pd(q_acc_5_8,src_dof_8)),_mm256_mul_pd(q_acc_5_9,src_dof_9));
+                const __m256d elMatVec_6 = _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_6_0,src_dof_0),_mm256_mul_pd(q_acc_6_1,src_dof_1)),_mm256_mul_pd(q_acc_6_2,src_dof_2)),_mm256_mul_pd(q_acc_6_3,src_dof_3)),_mm256_mul_pd(q_acc_6_4,src_dof_4)),_mm256_mul_pd(q_acc_6_5,src_dof_5)),_mm256_mul_pd(q_acc_6_6,src_dof_6)),_mm256_mul_pd(q_acc_6_7,src_dof_7)),_mm256_mul_pd(q_acc_6_8,src_dof_8)),_mm256_mul_pd(q_acc_6_9,src_dof_9));
+                const __m256d elMatVec_7 = _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_7_0,src_dof_0),_mm256_mul_pd(q_acc_7_1,src_dof_1)),_mm256_mul_pd(q_acc_7_2,src_dof_2)),_mm256_mul_pd(q_acc_7_3,src_dof_3)),_mm256_mul_pd(q_acc_7_4,src_dof_4)),_mm256_mul_pd(q_acc_7_5,src_dof_5)),_mm256_mul_pd(q_acc_7_6,src_dof_6)),_mm256_mul_pd(q_acc_7_7,src_dof_7)),_mm256_mul_pd(q_acc_7_8,src_dof_8)),_mm256_mul_pd(q_acc_7_9,src_dof_9));
+                const __m256d elMatVec_8 = _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_8_0,src_dof_0),_mm256_mul_pd(q_acc_8_1,src_dof_1)),_mm256_mul_pd(q_acc_8_2,src_dof_2)),_mm256_mul_pd(q_acc_8_3,src_dof_3)),_mm256_mul_pd(q_acc_8_4,src_dof_4)),_mm256_mul_pd(q_acc_8_5,src_dof_5)),_mm256_mul_pd(q_acc_8_6,src_dof_6)),_mm256_mul_pd(q_acc_8_7,src_dof_7)),_mm256_mul_pd(q_acc_8_8,src_dof_8)),_mm256_mul_pd(q_acc_8_9,src_dof_9));
+                const __m256d elMatVec_9 = _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_9_0,src_dof_0),_mm256_mul_pd(q_acc_9_1,src_dof_1)),_mm256_mul_pd(q_acc_9_2,src_dof_2)),_mm256_mul_pd(q_acc_9_3,src_dof_3)),_mm256_mul_pd(q_acc_9_4,src_dof_4)),_mm256_mul_pd(q_acc_9_5,src_dof_5)),_mm256_mul_pd(q_acc_9_6,src_dof_6)),_mm256_mul_pd(q_acc_9_7,src_dof_7)),_mm256_mul_pd(q_acc_9_8,src_dof_8)),_mm256_mul_pd(q_acc_9_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_6,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_7,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_8,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_9,_mm256_loadu_pd(& _data_dstEdge[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])));
+             }
+             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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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;
+                real_t q_acc_4_0 = 0.0;
+                real_t q_acc_4_1 = 0.0;
+                real_t q_acc_4_2 = 0.0;
+                real_t q_acc_4_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_4_5 = 0.0;
+                real_t q_acc_4_6 = 0.0;
+                real_t q_acc_4_7 = 0.0;
+                real_t q_acc_4_8 = 0.0;
+                real_t q_acc_4_9 = 0.0;
+                real_t q_acc_5_0 = 0.0;
+                real_t q_acc_5_1 = 0.0;
+                real_t q_acc_5_2 = 0.0;
+                real_t q_acc_5_3 = 0.0;
+                real_t q_acc_5_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_5_6 = 0.0;
+                real_t q_acc_5_7 = 0.0;
+                real_t q_acc_5_8 = 0.0;
+                real_t q_acc_5_9 = 0.0;
+                real_t q_acc_6_0 = 0.0;
+                real_t q_acc_6_1 = 0.0;
+                real_t q_acc_6_2 = 0.0;
+                real_t q_acc_6_3 = 0.0;
+                real_t q_acc_6_4 = 0.0;
+                real_t q_acc_6_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_6_7 = 0.0;
+                real_t q_acc_6_8 = 0.0;
+                real_t q_acc_6_9 = 0.0;
+                real_t q_acc_7_0 = 0.0;
+                real_t q_acc_7_1 = 0.0;
+                real_t q_acc_7_2 = 0.0;
+                real_t q_acc_7_3 = 0.0;
+                real_t q_acc_7_4 = 0.0;
+                real_t q_acc_7_5 = 0.0;
+                real_t q_acc_7_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_7_8 = 0.0;
+                real_t q_acc_7_9 = 0.0;
+                real_t q_acc_8_0 = 0.0;
+                real_t q_acc_8_1 = 0.0;
+                real_t q_acc_8_2 = 0.0;
+                real_t q_acc_8_3 = 0.0;
+                real_t q_acc_8_4 = 0.0;
+                real_t q_acc_8_5 = 0.0;
+                real_t q_acc_8_6 = 0.0;
+                real_t q_acc_8_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_8_9 = 0.0;
+                real_t q_acc_9_0 = 0.0;
+                real_t q_acc_9_1 = 0.0;
+                real_t q_acc_9_2 = 0.0;
+                real_t q_acc_9_3 = 0.0;
+                real_t q_acc_9_4 = 0.0;
+                real_t q_acc_9_5 = 0.0;
+                real_t q_acc_9_6 = 0.0;
+                real_t q_acc_9_7 = 0.0;
+                real_t q_acc_9_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_16 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_17 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_18 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18;
+                   const real_t tmp_qloop_20 = tmp_qloop_16 + tmp_qloop_19 - 3.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_17*_data_q_p_1[q];
+                   const real_t tmp_qloop_22 = tmp_qloop_17*_data_q_p_2[q];
+                   const real_t tmp_qloop_23 = tmp_qloop_18*_data_q_p_2[q];
+                   const real_t tmp_qloop_24 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_25 = tmp_qloop_24*2.0;
+                   const real_t tmp_qloop_26 = tmp_qloop_25 - _data_q_p_0[q];
+                   const real_t tmp_qloop_27 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_28 = tmp_qloop_27*2.0;
+                   const real_t tmp_qloop_29 = tmp_qloop_28 - _data_q_p_1[q];
+                   const real_t tmp_qloop_30 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_31 = tmp_qloop_30*2.0;
+                   const real_t tmp_qloop_32 = tmp_qloop_31 - _data_q_p_2[q];
+                   const real_t tmp_qloop_33 = tmp_qloop_16 - tmp_qloop_22 - tmp_qloop_23 + tmp_qloop_30*-4.0;
+                   const real_t tmp_qloop_34 = tmp_qloop_18 - tmp_qloop_21 - tmp_qloop_23 + tmp_qloop_27*-4.0;
+                   const real_t tmp_qloop_35 = tmp_qloop_21 + tmp_qloop_22;
+                   const real_t tmp_qloop_36 = tmp_qloop_17 + tmp_qloop_24*-4.0 - tmp_qloop_35;
+                   const real_t tmp_qloop_37 = tmp_qloop_23 + tmp_qloop_25 + tmp_qloop_28 + tmp_qloop_31 + tmp_qloop_35 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                   const real_t tmp_qloop_38 = tmp_qloop_21*wx_dof_6 + tmp_qloop_22*wx_dof_5 + tmp_qloop_23*wx_dof_4 + tmp_qloop_26*wx_dof_1 + tmp_qloop_29*wx_dof_2 + tmp_qloop_32*wx_dof_3 + tmp_qloop_33*wx_dof_7 + tmp_qloop_34*wx_dof_8 + tmp_qloop_36*wx_dof_9 + tmp_qloop_37*wx_dof_0;
+                   const real_t tmp_qloop_39 = tmp_qloop_21*wy_dof_6 + tmp_qloop_22*wy_dof_5 + tmp_qloop_23*wy_dof_4 + tmp_qloop_26*wy_dof_1 + tmp_qloop_29*wy_dof_2 + tmp_qloop_32*wy_dof_3 + tmp_qloop_33*wy_dof_7 + tmp_qloop_34*wy_dof_8 + tmp_qloop_36*wy_dof_9 + tmp_qloop_37*wy_dof_0;
+                   const real_t tmp_qloop_40 = tmp_qloop_21*wz_dof_6 + tmp_qloop_22*wz_dof_5 + tmp_qloop_23*wz_dof_4 + tmp_qloop_26*wz_dof_1 + tmp_qloop_29*wz_dof_2 + tmp_qloop_32*wz_dof_3 + tmp_qloop_33*wz_dof_7 + tmp_qloop_34*wz_dof_8 + tmp_qloop_36*wz_dof_9 + tmp_qloop_37*wz_dof_0;
+                   const real_t tmp_qloop_41 = abs_det_jac_affine_WHITE_DOWN*(diffusivity_times_delta_dof_0*tmp_qloop_37 + diffusivity_times_delta_dof_1*tmp_qloop_26 + diffusivity_times_delta_dof_2*tmp_qloop_29 + diffusivity_times_delta_dof_3*tmp_qloop_32 + diffusivity_times_delta_dof_4*tmp_qloop_23 + diffusivity_times_delta_dof_5*tmp_qloop_22 + diffusivity_times_delta_dof_6*tmp_qloop_21 + diffusivity_times_delta_dof_7*tmp_qloop_33 + diffusivity_times_delta_dof_8*tmp_qloop_34 + diffusivity_times_delta_dof_9*tmp_qloop_36)*_data_q_w[q];
+                   const real_t tmp_qloop_42 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_20 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_20 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_20) + tmp_qloop_39*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_20 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_20 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_20) + tmp_qloop_40*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_20 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_20 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_20));
+                   const real_t tmp_qloop_61 = tmp_qloop_17 - 1.0;
+                   const real_t tmp_qloop_62 = tmp_qloop_41*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_38*tmp_qloop_61 + jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_39*tmp_qloop_61 + jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_40*tmp_qloop_61);
+                   const real_t tmp_qloop_63 = tmp_qloop_18 - 1.0;
+                   const real_t tmp_qloop_64 = tmp_qloop_41*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_38*tmp_qloop_63 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_39*tmp_qloop_63 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_40*tmp_qloop_63);
+                   const real_t tmp_qloop_65 = tmp_qloop_16 - 1.0;
+                   const real_t tmp_qloop_66 = tmp_qloop_41*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_38*tmp_qloop_65 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_39*tmp_qloop_65 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_40*tmp_qloop_65);
+                   const real_t tmp_qloop_67 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_18;
+                   const real_t tmp_qloop_68 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_16;
+                   const real_t tmp_qloop_69 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_18;
+                   const real_t tmp_qloop_70 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_16;
+                   const real_t tmp_qloop_71 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_18;
+                   const real_t tmp_qloop_72 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_16;
+                   const real_t tmp_qloop_73 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_67 + tmp_qloop_68) + tmp_qloop_39*(tmp_qloop_69 + tmp_qloop_70) + tmp_qloop_40*(tmp_qloop_71 + tmp_qloop_72));
+                   const real_t tmp_qloop_74 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_17;
+                   const real_t tmp_qloop_75 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_16;
+                   const real_t tmp_qloop_76 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_17;
+                   const real_t tmp_qloop_77 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_16;
+                   const real_t tmp_qloop_78 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_17;
+                   const real_t tmp_qloop_79 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_16;
+                   const real_t tmp_qloop_80 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_74 + tmp_qloop_75) + tmp_qloop_39*(tmp_qloop_76 + tmp_qloop_77) + tmp_qloop_40*(tmp_qloop_78 + tmp_qloop_79));
+                   const real_t tmp_qloop_81 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_17;
+                   const real_t tmp_qloop_82 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_18;
+                   const real_t tmp_qloop_83 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_17;
+                   const real_t tmp_qloop_84 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_18;
+                   const real_t tmp_qloop_85 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_17;
+                   const real_t tmp_qloop_86 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_18;
+                   const real_t tmp_qloop_87 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_81 + tmp_qloop_82) + tmp_qloop_39*(tmp_qloop_83 + tmp_qloop_84) + tmp_qloop_40*(tmp_qloop_85 + tmp_qloop_86));
+                   const real_t tmp_qloop_88 = -tmp_qloop_19 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_89 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_88 - tmp_qloop_68 - tmp_qloop_75) + tmp_qloop_39*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_88 - tmp_qloop_70 - tmp_qloop_77) + tmp_qloop_40*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_88 - tmp_qloop_72 - tmp_qloop_79));
+                   const real_t tmp_qloop_90 = tmp_qloop_16 - 4.0;
+                   const real_t tmp_qloop_91 = -tmp_qloop_17 - tmp_qloop_90 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_92 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_91 - tmp_qloop_67 - tmp_qloop_82) + tmp_qloop_39*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_91 - tmp_qloop_69 - tmp_qloop_84) + tmp_qloop_40*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_91 - tmp_qloop_71 - tmp_qloop_86));
+                   const real_t tmp_qloop_93 = -tmp_qloop_18 - tmp_qloop_90 - 8.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_94 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_93 - tmp_qloop_74 - tmp_qloop_81) + tmp_qloop_39*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_93 - tmp_qloop_76 - tmp_qloop_83) + tmp_qloop_40*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_93 - tmp_qloop_78 - tmp_qloop_85));
+                   const real_t q_tmp_0_0 = tmp_moved_constant_15*tmp_qloop_42;
+                   const real_t q_tmp_0_1 = tmp_moved_constant_16*tmp_qloop_42;
+                   const real_t q_tmp_0_2 = tmp_moved_constant_17*tmp_qloop_42;
+                   const real_t q_tmp_0_3 = tmp_moved_constant_18*tmp_qloop_42;
+                   const real_t q_tmp_0_4 = tmp_moved_constant_22*tmp_qloop_42;
+                   const real_t q_tmp_0_5 = tmp_moved_constant_23*tmp_qloop_42;
+                   const real_t q_tmp_0_6 = tmp_moved_constant_27*tmp_qloop_42;
+                   const real_t q_tmp_0_7 = tmp_moved_constant_30*tmp_qloop_42;
+                   const real_t q_tmp_0_8 = tmp_moved_constant_32*tmp_qloop_42;
+                   const real_t q_tmp_0_9 = tmp_moved_constant_33*tmp_qloop_42;
+                   const real_t q_tmp_1_0 = tmp_moved_constant_15*tmp_qloop_62;
+                   const real_t q_tmp_1_1 = tmp_moved_constant_16*tmp_qloop_62;
+                   const real_t q_tmp_1_2 = tmp_moved_constant_17*tmp_qloop_62;
+                   const real_t q_tmp_1_3 = tmp_moved_constant_18*tmp_qloop_62;
+                   const real_t q_tmp_1_4 = tmp_moved_constant_22*tmp_qloop_62;
+                   const real_t q_tmp_1_5 = tmp_moved_constant_23*tmp_qloop_62;
+                   const real_t q_tmp_1_6 = tmp_moved_constant_27*tmp_qloop_62;
+                   const real_t q_tmp_1_7 = tmp_moved_constant_30*tmp_qloop_62;
+                   const real_t q_tmp_1_8 = tmp_moved_constant_32*tmp_qloop_62;
+                   const real_t q_tmp_1_9 = tmp_moved_constant_33*tmp_qloop_62;
+                   const real_t q_tmp_2_0 = tmp_moved_constant_15*tmp_qloop_64;
+                   const real_t q_tmp_2_1 = tmp_moved_constant_16*tmp_qloop_64;
+                   const real_t q_tmp_2_2 = tmp_moved_constant_17*tmp_qloop_64;
+                   const real_t q_tmp_2_3 = tmp_moved_constant_18*tmp_qloop_64;
+                   const real_t q_tmp_2_4 = tmp_moved_constant_22*tmp_qloop_64;
+                   const real_t q_tmp_2_5 = tmp_moved_constant_23*tmp_qloop_64;
+                   const real_t q_tmp_2_6 = tmp_moved_constant_27*tmp_qloop_64;
+                   const real_t q_tmp_2_7 = tmp_moved_constant_30*tmp_qloop_64;
+                   const real_t q_tmp_2_8 = tmp_moved_constant_32*tmp_qloop_64;
+                   const real_t q_tmp_2_9 = tmp_moved_constant_33*tmp_qloop_64;
+                   const real_t q_tmp_3_0 = tmp_moved_constant_15*tmp_qloop_66;
+                   const real_t q_tmp_3_1 = tmp_moved_constant_16*tmp_qloop_66;
+                   const real_t q_tmp_3_2 = tmp_moved_constant_17*tmp_qloop_66;
+                   const real_t q_tmp_3_3 = tmp_moved_constant_18*tmp_qloop_66;
+                   const real_t q_tmp_3_4 = tmp_moved_constant_22*tmp_qloop_66;
+                   const real_t q_tmp_3_5 = tmp_moved_constant_23*tmp_qloop_66;
+                   const real_t q_tmp_3_6 = tmp_moved_constant_27*tmp_qloop_66;
+                   const real_t q_tmp_3_7 = tmp_moved_constant_30*tmp_qloop_66;
+                   const real_t q_tmp_3_8 = tmp_moved_constant_32*tmp_qloop_66;
+                   const real_t q_tmp_3_9 = tmp_moved_constant_33*tmp_qloop_66;
+                   const real_t q_tmp_4_0 = tmp_moved_constant_15*tmp_qloop_73;
+                   const real_t q_tmp_4_1 = tmp_moved_constant_16*tmp_qloop_73;
+                   const real_t q_tmp_4_2 = tmp_moved_constant_17*tmp_qloop_73;
+                   const real_t q_tmp_4_3 = tmp_moved_constant_18*tmp_qloop_73;
+                   const real_t q_tmp_4_4 = tmp_moved_constant_22*tmp_qloop_73;
+                   const real_t q_tmp_4_5 = tmp_moved_constant_23*tmp_qloop_73;
+                   const real_t q_tmp_4_6 = tmp_moved_constant_27*tmp_qloop_73;
+                   const real_t q_tmp_4_7 = tmp_moved_constant_30*tmp_qloop_73;
+                   const real_t q_tmp_4_8 = tmp_moved_constant_32*tmp_qloop_73;
+                   const real_t q_tmp_4_9 = tmp_moved_constant_33*tmp_qloop_73;
+                   const real_t q_tmp_5_0 = tmp_moved_constant_15*tmp_qloop_80;
+                   const real_t q_tmp_5_1 = tmp_moved_constant_16*tmp_qloop_80;
+                   const real_t q_tmp_5_2 = tmp_moved_constant_17*tmp_qloop_80;
+                   const real_t q_tmp_5_3 = tmp_moved_constant_18*tmp_qloop_80;
+                   const real_t q_tmp_5_4 = tmp_moved_constant_22*tmp_qloop_80;
+                   const real_t q_tmp_5_5 = tmp_moved_constant_23*tmp_qloop_80;
+                   const real_t q_tmp_5_6 = tmp_moved_constant_27*tmp_qloop_80;
+                   const real_t q_tmp_5_7 = tmp_moved_constant_30*tmp_qloop_80;
+                   const real_t q_tmp_5_8 = tmp_moved_constant_32*tmp_qloop_80;
+                   const real_t q_tmp_5_9 = tmp_moved_constant_33*tmp_qloop_80;
+                   const real_t q_tmp_6_0 = tmp_moved_constant_15*tmp_qloop_87;
+                   const real_t q_tmp_6_1 = tmp_moved_constant_16*tmp_qloop_87;
+                   const real_t q_tmp_6_2 = tmp_moved_constant_17*tmp_qloop_87;
+                   const real_t q_tmp_6_3 = tmp_moved_constant_18*tmp_qloop_87;
+                   const real_t q_tmp_6_4 = tmp_moved_constant_22*tmp_qloop_87;
+                   const real_t q_tmp_6_5 = tmp_moved_constant_23*tmp_qloop_87;
+                   const real_t q_tmp_6_6 = tmp_moved_constant_27*tmp_qloop_87;
+                   const real_t q_tmp_6_7 = tmp_moved_constant_30*tmp_qloop_87;
+                   const real_t q_tmp_6_8 = tmp_moved_constant_32*tmp_qloop_87;
+                   const real_t q_tmp_6_9 = tmp_moved_constant_33*tmp_qloop_87;
+                   const real_t q_tmp_7_0 = tmp_moved_constant_15*tmp_qloop_89;
+                   const real_t q_tmp_7_1 = tmp_moved_constant_16*tmp_qloop_89;
+                   const real_t q_tmp_7_2 = tmp_moved_constant_17*tmp_qloop_89;
+                   const real_t q_tmp_7_3 = tmp_moved_constant_18*tmp_qloop_89;
+                   const real_t q_tmp_7_4 = tmp_moved_constant_22*tmp_qloop_89;
+                   const real_t q_tmp_7_5 = tmp_moved_constant_23*tmp_qloop_89;
+                   const real_t q_tmp_7_6 = tmp_moved_constant_27*tmp_qloop_89;
+                   const real_t q_tmp_7_7 = tmp_moved_constant_30*tmp_qloop_89;
+                   const real_t q_tmp_7_8 = tmp_moved_constant_32*tmp_qloop_89;
+                   const real_t q_tmp_7_9 = tmp_moved_constant_33*tmp_qloop_89;
+                   const real_t q_tmp_8_0 = tmp_moved_constant_15*tmp_qloop_92;
+                   const real_t q_tmp_8_1 = tmp_moved_constant_16*tmp_qloop_92;
+                   const real_t q_tmp_8_2 = tmp_moved_constant_17*tmp_qloop_92;
+                   const real_t q_tmp_8_3 = tmp_moved_constant_18*tmp_qloop_92;
+                   const real_t q_tmp_8_4 = tmp_moved_constant_22*tmp_qloop_92;
+                   const real_t q_tmp_8_5 = tmp_moved_constant_23*tmp_qloop_92;
+                   const real_t q_tmp_8_6 = tmp_moved_constant_27*tmp_qloop_92;
+                   const real_t q_tmp_8_7 = tmp_moved_constant_30*tmp_qloop_92;
+                   const real_t q_tmp_8_8 = tmp_moved_constant_32*tmp_qloop_92;
+                   const real_t q_tmp_8_9 = tmp_moved_constant_33*tmp_qloop_92;
+                   const real_t q_tmp_9_0 = tmp_moved_constant_15*tmp_qloop_94;
+                   const real_t q_tmp_9_1 = tmp_moved_constant_16*tmp_qloop_94;
+                   const real_t q_tmp_9_2 = tmp_moved_constant_17*tmp_qloop_94;
+                   const real_t q_tmp_9_3 = tmp_moved_constant_18*tmp_qloop_94;
+                   const real_t q_tmp_9_4 = tmp_moved_constant_22*tmp_qloop_94;
+                   const real_t q_tmp_9_5 = tmp_moved_constant_23*tmp_qloop_94;
+                   const real_t q_tmp_9_6 = tmp_moved_constant_27*tmp_qloop_94;
+                   const real_t q_tmp_9_7 = tmp_moved_constant_30*tmp_qloop_94;
+                   const real_t q_tmp_9_8 = tmp_moved_constant_32*tmp_qloop_94;
+                   const real_t q_tmp_9_9 = tmp_moved_constant_33*tmp_qloop_94;
+                   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;
+                   q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                   q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                   q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                   q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                   q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                   q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                   q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                   q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                   q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                   q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                   q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                   q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                   q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                   q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                   q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                   q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                   q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                   q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                   q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                   q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                   q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                   q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                   q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                   q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                   q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                   q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                   q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                   q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                   q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                   q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                   q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                   q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                   q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                   q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                   q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                   q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                   q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                   q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                   q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                   q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                   q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                   q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                   q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                   q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                   q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                   q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                   q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                   q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                   q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+                const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+                const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+                const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+                const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+                const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+                const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+                _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_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 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_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 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_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 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP;
+       const real_t tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP);
+       const real_t jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP);
+       const real_t jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP);
+       const real_t jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP);
+       const real_t jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP);
+       const real_t tmp_moved_constant_34 = jac_affine_inv_2_0_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_35 = jac_affine_inv_0_0_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_36 = jac_affine_inv_1_0_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_37 = tmp_moved_constant_35 + tmp_moved_constant_36;
+       const real_t tmp_moved_constant_38 = tmp_moved_constant_34 + tmp_moved_constant_37;
+       const real_t tmp_moved_constant_39 = jac_affine_inv_2_1_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_40 = jac_affine_inv_0_1_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_41 = jac_affine_inv_1_1_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_42 = tmp_moved_constant_40 + tmp_moved_constant_41;
+       const real_t tmp_moved_constant_43 = tmp_moved_constant_39 + tmp_moved_constant_42;
+       const real_t tmp_moved_constant_44 = jac_affine_inv_2_2_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_45 = jac_affine_inv_0_2_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_46 = jac_affine_inv_1_2_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_47 = tmp_moved_constant_45 + tmp_moved_constant_46;
+       const real_t tmp_moved_constant_48 = tmp_moved_constant_44 + tmp_moved_constant_47;
+       const real_t tmp_moved_constant_49 = jac_affine_inv_0_0_BLUE_UP*tmp_moved_constant_38 + jac_affine_inv_0_1_BLUE_UP*tmp_moved_constant_43 + jac_affine_inv_0_2_BLUE_UP*tmp_moved_constant_48 + jac_affine_inv_1_0_BLUE_UP*tmp_moved_constant_38 + jac_affine_inv_1_1_BLUE_UP*tmp_moved_constant_43 + jac_affine_inv_1_2_BLUE_UP*tmp_moved_constant_48 + jac_affine_inv_2_0_BLUE_UP*tmp_moved_constant_38 + jac_affine_inv_2_1_BLUE_UP*tmp_moved_constant_43 + jac_affine_inv_2_2_BLUE_UP*tmp_moved_constant_48;
+       const real_t tmp_moved_constant_50 = (jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP)*4.0 + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP)*4.0 + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)*4.0;
+       const real_t tmp_moved_constant_51 = (jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP)*4.0 + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP)*4.0 + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)*4.0;
+       const real_t tmp_moved_constant_52 = (jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP)*4.0 + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP)*4.0 + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)*4.0;
+       const real_t tmp_moved_constant_53 = jac_affine_inv_2_0_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_54 = jac_affine_inv_2_1_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_55 = jac_affine_inv_2_2_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_56 = jac_affine_inv_1_0_BLUE_UP*tmp_moved_constant_53 + jac_affine_inv_1_1_BLUE_UP*tmp_moved_constant_54 + jac_affine_inv_1_2_BLUE_UP*tmp_moved_constant_55;
+       const real_t tmp_moved_constant_57 = jac_affine_inv_0_0_BLUE_UP*tmp_moved_constant_53 + jac_affine_inv_0_1_BLUE_UP*tmp_moved_constant_54 + jac_affine_inv_0_2_BLUE_UP*tmp_moved_constant_55;
+       const real_t tmp_moved_constant_58 = jac_affine_inv_1_0_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_59 = jac_affine_inv_1_1_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_60 = jac_affine_inv_1_2_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_61 = jac_affine_inv_0_0_BLUE_UP*tmp_moved_constant_58 + jac_affine_inv_0_1_BLUE_UP*tmp_moved_constant_59 + jac_affine_inv_0_2_BLUE_UP*tmp_moved_constant_60;
+       const real_t tmp_moved_constant_62 = jac_affine_inv_2_0_BLUE_UP*tmp_moved_constant_36 + jac_affine_inv_2_1_BLUE_UP*tmp_moved_constant_41 + jac_affine_inv_2_2_BLUE_UP*tmp_moved_constant_46;
+       const real_t tmp_moved_constant_63 = jac_affine_inv_2_0_BLUE_UP*tmp_moved_constant_35 + jac_affine_inv_2_1_BLUE_UP*tmp_moved_constant_40 + jac_affine_inv_2_2_BLUE_UP*tmp_moved_constant_45;
+       const real_t tmp_moved_constant_64 = jac_affine_inv_2_0_BLUE_UP*(-tmp_moved_constant_37 - tmp_moved_constant_53) + jac_affine_inv_2_1_BLUE_UP*(-tmp_moved_constant_42 - tmp_moved_constant_54) + jac_affine_inv_2_2_BLUE_UP*(-tmp_moved_constant_47 - tmp_moved_constant_55) - tmp_moved_constant_62 - tmp_moved_constant_63;
+       const real_t tmp_moved_constant_65 = jac_affine_inv_1_0_BLUE_UP*tmp_moved_constant_35 + jac_affine_inv_1_1_BLUE_UP*tmp_moved_constant_40 + jac_affine_inv_1_2_BLUE_UP*tmp_moved_constant_45;
+       const real_t tmp_moved_constant_66 = jac_affine_inv_1_0_BLUE_UP*(-tmp_moved_constant_34 - tmp_moved_constant_35 - tmp_moved_constant_58) + jac_affine_inv_1_1_BLUE_UP*(-tmp_moved_constant_39 - tmp_moved_constant_40 - tmp_moved_constant_59) + jac_affine_inv_1_2_BLUE_UP*(-tmp_moved_constant_44 - tmp_moved_constant_45 - tmp_moved_constant_60) - tmp_moved_constant_62 - tmp_moved_constant_65;
+       const real_t tmp_moved_constant_67 = jac_affine_inv_0_0_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*-8.0 - tmp_moved_constant_34 - tmp_moved_constant_36) + jac_affine_inv_0_1_BLUE_UP*(jac_affine_inv_0_1_BLUE_UP*-8.0 - tmp_moved_constant_39 - tmp_moved_constant_41) + jac_affine_inv_0_2_BLUE_UP*(jac_affine_inv_0_2_BLUE_UP*-8.0 - tmp_moved_constant_44 - tmp_moved_constant_46) - tmp_moved_constant_63 - tmp_moved_constant_65;
+       {
+          /* CellType.BLUE_UP */
+          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 diffusivity_times_delta_dof_0 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_1 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_2 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_3 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_4 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_5 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_6 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_7 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_8 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_9 = _mm256_loadu_pd(& _data_wxEdge[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 wy_dof_0 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_1 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_2 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_3 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_4 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_5 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_6 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_7 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_8 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_9 = _mm256_loadu_pd(& _data_wyEdge[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 wz_dof_0 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_1 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_2 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_3 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_4 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_5 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_6 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_7 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_8 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_9 = _mm256_loadu_pd(& _data_wzEdge[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);
+                __m256d q_acc_4_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_16 = _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]));
+                   const __m256d tmp_qloop_17 = _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_18 = _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]));
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_17,tmp_qloop_18);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_16),tmp_qloop_19);
+                   const __m256d tmp_qloop_21 = _mm256_mul_pd(tmp_qloop_17,_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_22 = _mm256_mul_pd(tmp_qloop_17,_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_23 = _mm256_mul_pd(tmp_qloop_18,_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_24 = _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_25 = _mm256_mul_pd(tmp_qloop_24,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_26 = _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_25);
+                   const __m256d tmp_qloop_27 = _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_28 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_29 = _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_28);
+                   const __m256d tmp_qloop_30 = _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_31 = _mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_32 = _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_31);
+                   const __m256d tmp_qloop_33 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_16);
+                   const __m256d tmp_qloop_34 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_18);
+                   const __m256d tmp_qloop_35 = _mm256_add_pd(tmp_qloop_21,tmp_qloop_22);
+                   const __m256d tmp_qloop_36 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_24,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_17);
+                   const __m256d tmp_qloop_37 = _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_23),tmp_qloop_25),tmp_qloop_28),tmp_qloop_31),tmp_qloop_35);
+                   const __m256d tmp_qloop_38 = _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(tmp_qloop_21,wx_dof_6),_mm256_mul_pd(tmp_qloop_22,wx_dof_5)),_mm256_mul_pd(tmp_qloop_23,wx_dof_4)),_mm256_mul_pd(tmp_qloop_26,wx_dof_1)),_mm256_mul_pd(tmp_qloop_29,wx_dof_2)),_mm256_mul_pd(tmp_qloop_32,wx_dof_3)),_mm256_mul_pd(tmp_qloop_33,wx_dof_7)),_mm256_mul_pd(tmp_qloop_34,wx_dof_8)),_mm256_mul_pd(tmp_qloop_36,wx_dof_9)),_mm256_mul_pd(tmp_qloop_37,wx_dof_0));
+                   const __m256d tmp_qloop_39 = _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(tmp_qloop_21,wy_dof_6),_mm256_mul_pd(tmp_qloop_22,wy_dof_5)),_mm256_mul_pd(tmp_qloop_23,wy_dof_4)),_mm256_mul_pd(tmp_qloop_26,wy_dof_1)),_mm256_mul_pd(tmp_qloop_29,wy_dof_2)),_mm256_mul_pd(tmp_qloop_32,wy_dof_3)),_mm256_mul_pd(tmp_qloop_33,wy_dof_7)),_mm256_mul_pd(tmp_qloop_34,wy_dof_8)),_mm256_mul_pd(tmp_qloop_36,wy_dof_9)),_mm256_mul_pd(tmp_qloop_37,wy_dof_0));
+                   const __m256d tmp_qloop_40 = _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(tmp_qloop_21,wz_dof_6),_mm256_mul_pd(tmp_qloop_22,wz_dof_5)),_mm256_mul_pd(tmp_qloop_23,wz_dof_4)),_mm256_mul_pd(tmp_qloop_26,wz_dof_1)),_mm256_mul_pd(tmp_qloop_29,wz_dof_2)),_mm256_mul_pd(tmp_qloop_32,wz_dof_3)),_mm256_mul_pd(tmp_qloop_33,wz_dof_7)),_mm256_mul_pd(tmp_qloop_34,wz_dof_8)),_mm256_mul_pd(tmp_qloop_36,wz_dof_9)),_mm256_mul_pd(tmp_qloop_37,wz_dof_0));
+                   const __m256d tmp_qloop_41 = _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(diffusivity_times_delta_dof_0,tmp_qloop_37),_mm256_mul_pd(diffusivity_times_delta_dof_1,tmp_qloop_26)),_mm256_mul_pd(diffusivity_times_delta_dof_2,tmp_qloop_29)),_mm256_mul_pd(diffusivity_times_delta_dof_3,tmp_qloop_32)),_mm256_mul_pd(diffusivity_times_delta_dof_4,tmp_qloop_23)),_mm256_mul_pd(diffusivity_times_delta_dof_5,tmp_qloop_22)),_mm256_mul_pd(diffusivity_times_delta_dof_6,tmp_qloop_21)),_mm256_mul_pd(diffusivity_times_delta_dof_7,tmp_qloop_33)),_mm256_mul_pd(diffusivity_times_delta_dof_8,tmp_qloop_34)),_mm256_mul_pd(diffusivity_times_delta_dof_9,tmp_qloop_36)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))))));
+                   const __m256d tmp_qloop_61 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_17);
+                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_61),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,tmp_qloop_61),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,tmp_qloop_61),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))));
+                   const __m256d tmp_qloop_63 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_18);
+                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_63),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,tmp_qloop_63),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,tmp_qloop_63),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))));
+                   const __m256d tmp_qloop_65 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_16);
+                   const __m256d tmp_qloop_66 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_65),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,tmp_qloop_65),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,tmp_qloop_65),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))));
+                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP));
+                   const __m256d tmp_qloop_68 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP));
+                   const __m256d tmp_qloop_69 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP));
+                   const __m256d tmp_qloop_70 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP));
+                   const __m256d tmp_qloop_71 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP));
+                   const __m256d tmp_qloop_72 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP));
+                   const __m256d tmp_qloop_73 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(tmp_qloop_67,tmp_qloop_68)),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(tmp_qloop_69,tmp_qloop_70))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(tmp_qloop_71,tmp_qloop_72))));
+                   const __m256d tmp_qloop_74 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP));
+                   const __m256d tmp_qloop_75 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP));
+                   const __m256d tmp_qloop_76 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP));
+                   const __m256d tmp_qloop_77 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP));
+                   const __m256d tmp_qloop_78 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP));
+                   const __m256d tmp_qloop_79 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP));
+                   const __m256d tmp_qloop_80 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(tmp_qloop_74,tmp_qloop_75)),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(tmp_qloop_76,tmp_qloop_77))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(tmp_qloop_78,tmp_qloop_79))));
+                   const __m256d tmp_qloop_81 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP));
+                   const __m256d tmp_qloop_82 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP));
+                   const __m256d tmp_qloop_83 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP));
+                   const __m256d tmp_qloop_84 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP));
+                   const __m256d tmp_qloop_85 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP));
+                   const __m256d tmp_qloop_86 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP));
+                   const __m256d tmp_qloop_87 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(tmp_qloop_81,tmp_qloop_82)),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(tmp_qloop_83,tmp_qloop_84))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(tmp_qloop_85,tmp_qloop_86))));
+                   const __m256d tmp_qloop_88 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_89 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_75,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_88,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_70,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_77,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_88,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_79,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_88,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))))));
+                   const __m256d tmp_qloop_90 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_16);
+                   const __m256d tmp_qloop_91 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_90,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_92 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_82,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_91,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_69,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_84,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_91,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_86,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_91,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))))));
+                   const __m256d tmp_qloop_93 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_90,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_94 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_81,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_93,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_76,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_83,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_93,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_78,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_85,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_93,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))))));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57));
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61));
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64));
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66));
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52));
+                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56));
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57));
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61));
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64));
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66));
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56));
+                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57));
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61));
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64));
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66));
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67));
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49));
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50));
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56));
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57));
+                   const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61));
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64));
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66));
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67));
+                   const __m256d q_tmp_4_0 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49));
+                   const __m256d q_tmp_4_1 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50));
+                   const __m256d q_tmp_4_2 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51));
+                   const __m256d q_tmp_4_3 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56));
+                   const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57));
+                   const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61));
+                   const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64));
+                   const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66));
+                   const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67));
+                   const __m256d q_tmp_5_0 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49));
+                   const __m256d q_tmp_5_1 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50));
+                   const __m256d q_tmp_5_2 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51));
+                   const __m256d q_tmp_5_3 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52));
+                   const __m256d q_tmp_5_4 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57));
+                   const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61));
+                   const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64));
+                   const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66));
+                   const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67));
+                   const __m256d q_tmp_6_0 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49));
+                   const __m256d q_tmp_6_1 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50));
+                   const __m256d q_tmp_6_2 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51));
+                   const __m256d q_tmp_6_3 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52));
+                   const __m256d q_tmp_6_4 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56));
+                   const __m256d q_tmp_6_5 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61));
+                   const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64));
+                   const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66));
+                   const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67));
+                   const __m256d q_tmp_7_0 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49));
+                   const __m256d q_tmp_7_1 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50));
+                   const __m256d q_tmp_7_2 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51));
+                   const __m256d q_tmp_7_3 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52));
+                   const __m256d q_tmp_7_4 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56));
+                   const __m256d q_tmp_7_5 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57));
+                   const __m256d q_tmp_7_6 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64));
+                   const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66));
+                   const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67));
+                   const __m256d q_tmp_8_0 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49));
+                   const __m256d q_tmp_8_1 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50));
+                   const __m256d q_tmp_8_2 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51));
+                   const __m256d q_tmp_8_3 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52));
+                   const __m256d q_tmp_8_4 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56));
+                   const __m256d q_tmp_8_5 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57));
+                   const __m256d q_tmp_8_6 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61));
+                   const __m256d q_tmp_8_7 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66));
+                   const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67));
+                   const __m256d q_tmp_9_0 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49));
+                   const __m256d q_tmp_9_1 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50));
+                   const __m256d q_tmp_9_2 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51));
+                   const __m256d q_tmp_9_3 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52));
+                   const __m256d q_tmp_9_4 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56));
+                   const __m256d q_tmp_9_5 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57));
+                   const __m256d q_tmp_9_6 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61));
+                   const __m256d q_tmp_9_7 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64));
+                   const __m256d q_tmp_9_8 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67));
+                   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);
+                   q_acc_4_0 = _mm256_add_pd(q_acc_4_0,q_tmp_4_0);
+                   q_acc_4_1 = _mm256_add_pd(q_acc_4_1,q_tmp_4_1);
+                   q_acc_4_2 = _mm256_add_pd(q_acc_4_2,q_tmp_4_2);
+                   q_acc_4_3 = _mm256_add_pd(q_acc_4_3,q_tmp_4_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5);
+                   q_acc_4_6 = _mm256_add_pd(q_acc_4_6,q_tmp_4_6);
+                   q_acc_4_7 = _mm256_add_pd(q_acc_4_7,q_tmp_4_7);
+                   q_acc_4_8 = _mm256_add_pd(q_acc_4_8,q_tmp_4_8);
+                   q_acc_4_9 = _mm256_add_pd(q_acc_4_9,q_tmp_4_9);
+                   q_acc_5_0 = _mm256_add_pd(q_acc_5_0,q_tmp_5_0);
+                   q_acc_5_1 = _mm256_add_pd(q_acc_5_1,q_tmp_5_1);
+                   q_acc_5_2 = _mm256_add_pd(q_acc_5_2,q_tmp_5_2);
+                   q_acc_5_3 = _mm256_add_pd(q_acc_5_3,q_tmp_5_3);
+                   q_acc_5_4 = _mm256_add_pd(q_acc_5_4,q_tmp_5_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_5_6 = _mm256_add_pd(q_acc_5_6,q_tmp_5_6);
+                   q_acc_5_7 = _mm256_add_pd(q_acc_5_7,q_tmp_5_7);
+                   q_acc_5_8 = _mm256_add_pd(q_acc_5_8,q_tmp_5_8);
+                   q_acc_5_9 = _mm256_add_pd(q_acc_5_9,q_tmp_5_9);
+                   q_acc_6_0 = _mm256_add_pd(q_acc_6_0,q_tmp_6_0);
+                   q_acc_6_1 = _mm256_add_pd(q_acc_6_1,q_tmp_6_1);
+                   q_acc_6_2 = _mm256_add_pd(q_acc_6_2,q_tmp_6_2);
+                   q_acc_6_3 = _mm256_add_pd(q_acc_6_3,q_tmp_6_3);
+                   q_acc_6_4 = _mm256_add_pd(q_acc_6_4,q_tmp_6_4);
+                   q_acc_6_5 = _mm256_add_pd(q_acc_6_5,q_tmp_6_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_6_7 = _mm256_add_pd(q_acc_6_7,q_tmp_6_7);
+                   q_acc_6_8 = _mm256_add_pd(q_acc_6_8,q_tmp_6_8);
+                   q_acc_6_9 = _mm256_add_pd(q_acc_6_9,q_tmp_6_9);
+                   q_acc_7_0 = _mm256_add_pd(q_acc_7_0,q_tmp_7_0);
+                   q_acc_7_1 = _mm256_add_pd(q_acc_7_1,q_tmp_7_1);
+                   q_acc_7_2 = _mm256_add_pd(q_acc_7_2,q_tmp_7_2);
+                   q_acc_7_3 = _mm256_add_pd(q_acc_7_3,q_tmp_7_3);
+                   q_acc_7_4 = _mm256_add_pd(q_acc_7_4,q_tmp_7_4);
+                   q_acc_7_5 = _mm256_add_pd(q_acc_7_5,q_tmp_7_5);
+                   q_acc_7_6 = _mm256_add_pd(q_acc_7_6,q_tmp_7_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_7_8 = _mm256_add_pd(q_acc_7_8,q_tmp_7_8);
+                   q_acc_7_9 = _mm256_add_pd(q_acc_7_9,q_tmp_7_9);
+                   q_acc_8_0 = _mm256_add_pd(q_acc_8_0,q_tmp_8_0);
+                   q_acc_8_1 = _mm256_add_pd(q_acc_8_1,q_tmp_8_1);
+                   q_acc_8_2 = _mm256_add_pd(q_acc_8_2,q_tmp_8_2);
+                   q_acc_8_3 = _mm256_add_pd(q_acc_8_3,q_tmp_8_3);
+                   q_acc_8_4 = _mm256_add_pd(q_acc_8_4,q_tmp_8_4);
+                   q_acc_8_5 = _mm256_add_pd(q_acc_8_5,q_tmp_8_5);
+                   q_acc_8_6 = _mm256_add_pd(q_acc_8_6,q_tmp_8_6);
+                   q_acc_8_7 = _mm256_add_pd(q_acc_8_7,q_tmp_8_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_8_9 = _mm256_add_pd(q_acc_8_9,q_tmp_8_9);
+                   q_acc_9_0 = _mm256_add_pd(q_acc_9_0,q_tmp_9_0);
+                   q_acc_9_1 = _mm256_add_pd(q_acc_9_1,q_tmp_9_1);
+                   q_acc_9_2 = _mm256_add_pd(q_acc_9_2,q_tmp_9_2);
+                   q_acc_9_3 = _mm256_add_pd(q_acc_9_3,q_tmp_9_3);
+                   q_acc_9_4 = _mm256_add_pd(q_acc_9_4,q_tmp_9_4);
+                   q_acc_9_5 = _mm256_add_pd(q_acc_9_5,q_tmp_9_5);
+                   q_acc_9_6 = _mm256_add_pd(q_acc_9_6,q_tmp_9_6);
+                   q_acc_9_7 = _mm256_add_pd(q_acc_9_7,q_tmp_9_7);
+                   q_acc_9_8 = _mm256_add_pd(q_acc_9_8,q_tmp_9_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_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));
+                const __m256d elMatVec_4 = _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_4_0,src_dof_0),_mm256_mul_pd(q_acc_4_1,src_dof_1)),_mm256_mul_pd(q_acc_4_2,src_dof_2)),_mm256_mul_pd(q_acc_4_3,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)),_mm256_mul_pd(q_acc_4_6,src_dof_6)),_mm256_mul_pd(q_acc_4_7,src_dof_7)),_mm256_mul_pd(q_acc_4_8,src_dof_8)),_mm256_mul_pd(q_acc_4_9,src_dof_9));
+                const __m256d elMatVec_5 = _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_5_0,src_dof_0),_mm256_mul_pd(q_acc_5_1,src_dof_1)),_mm256_mul_pd(q_acc_5_2,src_dof_2)),_mm256_mul_pd(q_acc_5_3,src_dof_3)),_mm256_mul_pd(q_acc_5_4,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)),_mm256_mul_pd(q_acc_5_6,src_dof_6)),_mm256_mul_pd(q_acc_5_7,src_dof_7)),_mm256_mul_pd(q_acc_5_8,src_dof_8)),_mm256_mul_pd(q_acc_5_9,src_dof_9));
+                const __m256d elMatVec_6 = _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_6_0,src_dof_0),_mm256_mul_pd(q_acc_6_1,src_dof_1)),_mm256_mul_pd(q_acc_6_2,src_dof_2)),_mm256_mul_pd(q_acc_6_3,src_dof_3)),_mm256_mul_pd(q_acc_6_4,src_dof_4)),_mm256_mul_pd(q_acc_6_5,src_dof_5)),_mm256_mul_pd(q_acc_6_6,src_dof_6)),_mm256_mul_pd(q_acc_6_7,src_dof_7)),_mm256_mul_pd(q_acc_6_8,src_dof_8)),_mm256_mul_pd(q_acc_6_9,src_dof_9));
+                const __m256d elMatVec_7 = _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_7_0,src_dof_0),_mm256_mul_pd(q_acc_7_1,src_dof_1)),_mm256_mul_pd(q_acc_7_2,src_dof_2)),_mm256_mul_pd(q_acc_7_3,src_dof_3)),_mm256_mul_pd(q_acc_7_4,src_dof_4)),_mm256_mul_pd(q_acc_7_5,src_dof_5)),_mm256_mul_pd(q_acc_7_6,src_dof_6)),_mm256_mul_pd(q_acc_7_7,src_dof_7)),_mm256_mul_pd(q_acc_7_8,src_dof_8)),_mm256_mul_pd(q_acc_7_9,src_dof_9));
+                const __m256d elMatVec_8 = _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_8_0,src_dof_0),_mm256_mul_pd(q_acc_8_1,src_dof_1)),_mm256_mul_pd(q_acc_8_2,src_dof_2)),_mm256_mul_pd(q_acc_8_3,src_dof_3)),_mm256_mul_pd(q_acc_8_4,src_dof_4)),_mm256_mul_pd(q_acc_8_5,src_dof_5)),_mm256_mul_pd(q_acc_8_6,src_dof_6)),_mm256_mul_pd(q_acc_8_7,src_dof_7)),_mm256_mul_pd(q_acc_8_8,src_dof_8)),_mm256_mul_pd(q_acc_8_9,src_dof_9));
+                const __m256d elMatVec_9 = _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_9_0,src_dof_0),_mm256_mul_pd(q_acc_9_1,src_dof_1)),_mm256_mul_pd(q_acc_9_2,src_dof_2)),_mm256_mul_pd(q_acc_9_3,src_dof_3)),_mm256_mul_pd(q_acc_9_4,src_dof_4)),_mm256_mul_pd(q_acc_9_5,src_dof_5)),_mm256_mul_pd(q_acc_9_6,src_dof_6)),_mm256_mul_pd(q_acc_9_7,src_dof_7)),_mm256_mul_pd(q_acc_9_8,src_dof_8)),_mm256_mul_pd(q_acc_9_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_6,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_7,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_8,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_9,_mm256_loadu_pd(& _data_dstEdge[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))])));
+             }
+             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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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;
+                real_t q_acc_4_0 = 0.0;
+                real_t q_acc_4_1 = 0.0;
+                real_t q_acc_4_2 = 0.0;
+                real_t q_acc_4_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_4_5 = 0.0;
+                real_t q_acc_4_6 = 0.0;
+                real_t q_acc_4_7 = 0.0;
+                real_t q_acc_4_8 = 0.0;
+                real_t q_acc_4_9 = 0.0;
+                real_t q_acc_5_0 = 0.0;
+                real_t q_acc_5_1 = 0.0;
+                real_t q_acc_5_2 = 0.0;
+                real_t q_acc_5_3 = 0.0;
+                real_t q_acc_5_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_5_6 = 0.0;
+                real_t q_acc_5_7 = 0.0;
+                real_t q_acc_5_8 = 0.0;
+                real_t q_acc_5_9 = 0.0;
+                real_t q_acc_6_0 = 0.0;
+                real_t q_acc_6_1 = 0.0;
+                real_t q_acc_6_2 = 0.0;
+                real_t q_acc_6_3 = 0.0;
+                real_t q_acc_6_4 = 0.0;
+                real_t q_acc_6_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_6_7 = 0.0;
+                real_t q_acc_6_8 = 0.0;
+                real_t q_acc_6_9 = 0.0;
+                real_t q_acc_7_0 = 0.0;
+                real_t q_acc_7_1 = 0.0;
+                real_t q_acc_7_2 = 0.0;
+                real_t q_acc_7_3 = 0.0;
+                real_t q_acc_7_4 = 0.0;
+                real_t q_acc_7_5 = 0.0;
+                real_t q_acc_7_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_7_8 = 0.0;
+                real_t q_acc_7_9 = 0.0;
+                real_t q_acc_8_0 = 0.0;
+                real_t q_acc_8_1 = 0.0;
+                real_t q_acc_8_2 = 0.0;
+                real_t q_acc_8_3 = 0.0;
+                real_t q_acc_8_4 = 0.0;
+                real_t q_acc_8_5 = 0.0;
+                real_t q_acc_8_6 = 0.0;
+                real_t q_acc_8_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_8_9 = 0.0;
+                real_t q_acc_9_0 = 0.0;
+                real_t q_acc_9_1 = 0.0;
+                real_t q_acc_9_2 = 0.0;
+                real_t q_acc_9_3 = 0.0;
+                real_t q_acc_9_4 = 0.0;
+                real_t q_acc_9_5 = 0.0;
+                real_t q_acc_9_6 = 0.0;
+                real_t q_acc_9_7 = 0.0;
+                real_t q_acc_9_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_16 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_17 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_18 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18;
+                   const real_t tmp_qloop_20 = tmp_qloop_16 + tmp_qloop_19 - 3.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_17*_data_q_p_1[q];
+                   const real_t tmp_qloop_22 = tmp_qloop_17*_data_q_p_2[q];
+                   const real_t tmp_qloop_23 = tmp_qloop_18*_data_q_p_2[q];
+                   const real_t tmp_qloop_24 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_25 = tmp_qloop_24*2.0;
+                   const real_t tmp_qloop_26 = tmp_qloop_25 - _data_q_p_0[q];
+                   const real_t tmp_qloop_27 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_28 = tmp_qloop_27*2.0;
+                   const real_t tmp_qloop_29 = tmp_qloop_28 - _data_q_p_1[q];
+                   const real_t tmp_qloop_30 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_31 = tmp_qloop_30*2.0;
+                   const real_t tmp_qloop_32 = tmp_qloop_31 - _data_q_p_2[q];
+                   const real_t tmp_qloop_33 = tmp_qloop_16 - tmp_qloop_22 - tmp_qloop_23 + tmp_qloop_30*-4.0;
+                   const real_t tmp_qloop_34 = tmp_qloop_18 - tmp_qloop_21 - tmp_qloop_23 + tmp_qloop_27*-4.0;
+                   const real_t tmp_qloop_35 = tmp_qloop_21 + tmp_qloop_22;
+                   const real_t tmp_qloop_36 = tmp_qloop_17 + tmp_qloop_24*-4.0 - tmp_qloop_35;
+                   const real_t tmp_qloop_37 = tmp_qloop_23 + tmp_qloop_25 + tmp_qloop_28 + tmp_qloop_31 + tmp_qloop_35 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                   const real_t tmp_qloop_38 = tmp_qloop_21*wx_dof_6 + tmp_qloop_22*wx_dof_5 + tmp_qloop_23*wx_dof_4 + tmp_qloop_26*wx_dof_1 + tmp_qloop_29*wx_dof_2 + tmp_qloop_32*wx_dof_3 + tmp_qloop_33*wx_dof_7 + tmp_qloop_34*wx_dof_8 + tmp_qloop_36*wx_dof_9 + tmp_qloop_37*wx_dof_0;
+                   const real_t tmp_qloop_39 = tmp_qloop_21*wy_dof_6 + tmp_qloop_22*wy_dof_5 + tmp_qloop_23*wy_dof_4 + tmp_qloop_26*wy_dof_1 + tmp_qloop_29*wy_dof_2 + tmp_qloop_32*wy_dof_3 + tmp_qloop_33*wy_dof_7 + tmp_qloop_34*wy_dof_8 + tmp_qloop_36*wy_dof_9 + tmp_qloop_37*wy_dof_0;
+                   const real_t tmp_qloop_40 = tmp_qloop_21*wz_dof_6 + tmp_qloop_22*wz_dof_5 + tmp_qloop_23*wz_dof_4 + tmp_qloop_26*wz_dof_1 + tmp_qloop_29*wz_dof_2 + tmp_qloop_32*wz_dof_3 + tmp_qloop_33*wz_dof_7 + tmp_qloop_34*wz_dof_8 + tmp_qloop_36*wz_dof_9 + tmp_qloop_37*wz_dof_0;
+                   const real_t tmp_qloop_41 = abs_det_jac_affine_BLUE_UP*(diffusivity_times_delta_dof_0*tmp_qloop_37 + diffusivity_times_delta_dof_1*tmp_qloop_26 + diffusivity_times_delta_dof_2*tmp_qloop_29 + diffusivity_times_delta_dof_3*tmp_qloop_32 + diffusivity_times_delta_dof_4*tmp_qloop_23 + diffusivity_times_delta_dof_5*tmp_qloop_22 + diffusivity_times_delta_dof_6*tmp_qloop_21 + diffusivity_times_delta_dof_7*tmp_qloop_33 + diffusivity_times_delta_dof_8*tmp_qloop_34 + diffusivity_times_delta_dof_9*tmp_qloop_36)*_data_q_w[q];
+                   const real_t tmp_qloop_42 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_20 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_20 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_20) + tmp_qloop_39*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_20 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_20 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_20) + tmp_qloop_40*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_20 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_20 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_20));
+                   const real_t tmp_qloop_61 = tmp_qloop_17 - 1.0;
+                   const real_t tmp_qloop_62 = tmp_qloop_41*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_38*tmp_qloop_61 + jac_affine_inv_0_1_BLUE_UP*tmp_qloop_39*tmp_qloop_61 + jac_affine_inv_0_2_BLUE_UP*tmp_qloop_40*tmp_qloop_61);
+                   const real_t tmp_qloop_63 = tmp_qloop_18 - 1.0;
+                   const real_t tmp_qloop_64 = tmp_qloop_41*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_38*tmp_qloop_63 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_39*tmp_qloop_63 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_40*tmp_qloop_63);
+                   const real_t tmp_qloop_65 = tmp_qloop_16 - 1.0;
+                   const real_t tmp_qloop_66 = tmp_qloop_41*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_38*tmp_qloop_65 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_39*tmp_qloop_65 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_40*tmp_qloop_65);
+                   const real_t tmp_qloop_67 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_18;
+                   const real_t tmp_qloop_68 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_16;
+                   const real_t tmp_qloop_69 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_18;
+                   const real_t tmp_qloop_70 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_16;
+                   const real_t tmp_qloop_71 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_18;
+                   const real_t tmp_qloop_72 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_16;
+                   const real_t tmp_qloop_73 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_67 + tmp_qloop_68) + tmp_qloop_39*(tmp_qloop_69 + tmp_qloop_70) + tmp_qloop_40*(tmp_qloop_71 + tmp_qloop_72));
+                   const real_t tmp_qloop_74 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_17;
+                   const real_t tmp_qloop_75 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_16;
+                   const real_t tmp_qloop_76 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_17;
+                   const real_t tmp_qloop_77 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_16;
+                   const real_t tmp_qloop_78 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_17;
+                   const real_t tmp_qloop_79 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_16;
+                   const real_t tmp_qloop_80 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_74 + tmp_qloop_75) + tmp_qloop_39*(tmp_qloop_76 + tmp_qloop_77) + tmp_qloop_40*(tmp_qloop_78 + tmp_qloop_79));
+                   const real_t tmp_qloop_81 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_17;
+                   const real_t tmp_qloop_82 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_18;
+                   const real_t tmp_qloop_83 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_17;
+                   const real_t tmp_qloop_84 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_18;
+                   const real_t tmp_qloop_85 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_17;
+                   const real_t tmp_qloop_86 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_18;
+                   const real_t tmp_qloop_87 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_81 + tmp_qloop_82) + tmp_qloop_39*(tmp_qloop_83 + tmp_qloop_84) + tmp_qloop_40*(tmp_qloop_85 + tmp_qloop_86));
+                   const real_t tmp_qloop_88 = -tmp_qloop_19 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_89 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_88 - tmp_qloop_68 - tmp_qloop_75) + tmp_qloop_39*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_88 - tmp_qloop_70 - tmp_qloop_77) + tmp_qloop_40*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_88 - tmp_qloop_72 - tmp_qloop_79));
+                   const real_t tmp_qloop_90 = tmp_qloop_16 - 4.0;
+                   const real_t tmp_qloop_91 = -tmp_qloop_17 - tmp_qloop_90 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_92 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_91 - tmp_qloop_67 - tmp_qloop_82) + tmp_qloop_39*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_91 - tmp_qloop_69 - tmp_qloop_84) + tmp_qloop_40*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_91 - tmp_qloop_71 - tmp_qloop_86));
+                   const real_t tmp_qloop_93 = -tmp_qloop_18 - tmp_qloop_90 - 8.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_94 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_93 - tmp_qloop_74 - tmp_qloop_81) + tmp_qloop_39*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_93 - tmp_qloop_76 - tmp_qloop_83) + tmp_qloop_40*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_93 - tmp_qloop_78 - tmp_qloop_85));
+                   const real_t q_tmp_0_0 = tmp_moved_constant_49*tmp_qloop_42;
+                   const real_t q_tmp_0_1 = tmp_moved_constant_50*tmp_qloop_42;
+                   const real_t q_tmp_0_2 = tmp_moved_constant_51*tmp_qloop_42;
+                   const real_t q_tmp_0_3 = tmp_moved_constant_52*tmp_qloop_42;
+                   const real_t q_tmp_0_4 = tmp_moved_constant_56*tmp_qloop_42;
+                   const real_t q_tmp_0_5 = tmp_moved_constant_57*tmp_qloop_42;
+                   const real_t q_tmp_0_6 = tmp_moved_constant_61*tmp_qloop_42;
+                   const real_t q_tmp_0_7 = tmp_moved_constant_64*tmp_qloop_42;
+                   const real_t q_tmp_0_8 = tmp_moved_constant_66*tmp_qloop_42;
+                   const real_t q_tmp_0_9 = tmp_moved_constant_67*tmp_qloop_42;
+                   const real_t q_tmp_1_0 = tmp_moved_constant_49*tmp_qloop_62;
+                   const real_t q_tmp_1_1 = tmp_moved_constant_50*tmp_qloop_62;
+                   const real_t q_tmp_1_2 = tmp_moved_constant_51*tmp_qloop_62;
+                   const real_t q_tmp_1_3 = tmp_moved_constant_52*tmp_qloop_62;
+                   const real_t q_tmp_1_4 = tmp_moved_constant_56*tmp_qloop_62;
+                   const real_t q_tmp_1_5 = tmp_moved_constant_57*tmp_qloop_62;
+                   const real_t q_tmp_1_6 = tmp_moved_constant_61*tmp_qloop_62;
+                   const real_t q_tmp_1_7 = tmp_moved_constant_64*tmp_qloop_62;
+                   const real_t q_tmp_1_8 = tmp_moved_constant_66*tmp_qloop_62;
+                   const real_t q_tmp_1_9 = tmp_moved_constant_67*tmp_qloop_62;
+                   const real_t q_tmp_2_0 = tmp_moved_constant_49*tmp_qloop_64;
+                   const real_t q_tmp_2_1 = tmp_moved_constant_50*tmp_qloop_64;
+                   const real_t q_tmp_2_2 = tmp_moved_constant_51*tmp_qloop_64;
+                   const real_t q_tmp_2_3 = tmp_moved_constant_52*tmp_qloop_64;
+                   const real_t q_tmp_2_4 = tmp_moved_constant_56*tmp_qloop_64;
+                   const real_t q_tmp_2_5 = tmp_moved_constant_57*tmp_qloop_64;
+                   const real_t q_tmp_2_6 = tmp_moved_constant_61*tmp_qloop_64;
+                   const real_t q_tmp_2_7 = tmp_moved_constant_64*tmp_qloop_64;
+                   const real_t q_tmp_2_8 = tmp_moved_constant_66*tmp_qloop_64;
+                   const real_t q_tmp_2_9 = tmp_moved_constant_67*tmp_qloop_64;
+                   const real_t q_tmp_3_0 = tmp_moved_constant_49*tmp_qloop_66;
+                   const real_t q_tmp_3_1 = tmp_moved_constant_50*tmp_qloop_66;
+                   const real_t q_tmp_3_2 = tmp_moved_constant_51*tmp_qloop_66;
+                   const real_t q_tmp_3_3 = tmp_moved_constant_52*tmp_qloop_66;
+                   const real_t q_tmp_3_4 = tmp_moved_constant_56*tmp_qloop_66;
+                   const real_t q_tmp_3_5 = tmp_moved_constant_57*tmp_qloop_66;
+                   const real_t q_tmp_3_6 = tmp_moved_constant_61*tmp_qloop_66;
+                   const real_t q_tmp_3_7 = tmp_moved_constant_64*tmp_qloop_66;
+                   const real_t q_tmp_3_8 = tmp_moved_constant_66*tmp_qloop_66;
+                   const real_t q_tmp_3_9 = tmp_moved_constant_67*tmp_qloop_66;
+                   const real_t q_tmp_4_0 = tmp_moved_constant_49*tmp_qloop_73;
+                   const real_t q_tmp_4_1 = tmp_moved_constant_50*tmp_qloop_73;
+                   const real_t q_tmp_4_2 = tmp_moved_constant_51*tmp_qloop_73;
+                   const real_t q_tmp_4_3 = tmp_moved_constant_52*tmp_qloop_73;
+                   const real_t q_tmp_4_4 = tmp_moved_constant_56*tmp_qloop_73;
+                   const real_t q_tmp_4_5 = tmp_moved_constant_57*tmp_qloop_73;
+                   const real_t q_tmp_4_6 = tmp_moved_constant_61*tmp_qloop_73;
+                   const real_t q_tmp_4_7 = tmp_moved_constant_64*tmp_qloop_73;
+                   const real_t q_tmp_4_8 = tmp_moved_constant_66*tmp_qloop_73;
+                   const real_t q_tmp_4_9 = tmp_moved_constant_67*tmp_qloop_73;
+                   const real_t q_tmp_5_0 = tmp_moved_constant_49*tmp_qloop_80;
+                   const real_t q_tmp_5_1 = tmp_moved_constant_50*tmp_qloop_80;
+                   const real_t q_tmp_5_2 = tmp_moved_constant_51*tmp_qloop_80;
+                   const real_t q_tmp_5_3 = tmp_moved_constant_52*tmp_qloop_80;
+                   const real_t q_tmp_5_4 = tmp_moved_constant_56*tmp_qloop_80;
+                   const real_t q_tmp_5_5 = tmp_moved_constant_57*tmp_qloop_80;
+                   const real_t q_tmp_5_6 = tmp_moved_constant_61*tmp_qloop_80;
+                   const real_t q_tmp_5_7 = tmp_moved_constant_64*tmp_qloop_80;
+                   const real_t q_tmp_5_8 = tmp_moved_constant_66*tmp_qloop_80;
+                   const real_t q_tmp_5_9 = tmp_moved_constant_67*tmp_qloop_80;
+                   const real_t q_tmp_6_0 = tmp_moved_constant_49*tmp_qloop_87;
+                   const real_t q_tmp_6_1 = tmp_moved_constant_50*tmp_qloop_87;
+                   const real_t q_tmp_6_2 = tmp_moved_constant_51*tmp_qloop_87;
+                   const real_t q_tmp_6_3 = tmp_moved_constant_52*tmp_qloop_87;
+                   const real_t q_tmp_6_4 = tmp_moved_constant_56*tmp_qloop_87;
+                   const real_t q_tmp_6_5 = tmp_moved_constant_57*tmp_qloop_87;
+                   const real_t q_tmp_6_6 = tmp_moved_constant_61*tmp_qloop_87;
+                   const real_t q_tmp_6_7 = tmp_moved_constant_64*tmp_qloop_87;
+                   const real_t q_tmp_6_8 = tmp_moved_constant_66*tmp_qloop_87;
+                   const real_t q_tmp_6_9 = tmp_moved_constant_67*tmp_qloop_87;
+                   const real_t q_tmp_7_0 = tmp_moved_constant_49*tmp_qloop_89;
+                   const real_t q_tmp_7_1 = tmp_moved_constant_50*tmp_qloop_89;
+                   const real_t q_tmp_7_2 = tmp_moved_constant_51*tmp_qloop_89;
+                   const real_t q_tmp_7_3 = tmp_moved_constant_52*tmp_qloop_89;
+                   const real_t q_tmp_7_4 = tmp_moved_constant_56*tmp_qloop_89;
+                   const real_t q_tmp_7_5 = tmp_moved_constant_57*tmp_qloop_89;
+                   const real_t q_tmp_7_6 = tmp_moved_constant_61*tmp_qloop_89;
+                   const real_t q_tmp_7_7 = tmp_moved_constant_64*tmp_qloop_89;
+                   const real_t q_tmp_7_8 = tmp_moved_constant_66*tmp_qloop_89;
+                   const real_t q_tmp_7_9 = tmp_moved_constant_67*tmp_qloop_89;
+                   const real_t q_tmp_8_0 = tmp_moved_constant_49*tmp_qloop_92;
+                   const real_t q_tmp_8_1 = tmp_moved_constant_50*tmp_qloop_92;
+                   const real_t q_tmp_8_2 = tmp_moved_constant_51*tmp_qloop_92;
+                   const real_t q_tmp_8_3 = tmp_moved_constant_52*tmp_qloop_92;
+                   const real_t q_tmp_8_4 = tmp_moved_constant_56*tmp_qloop_92;
+                   const real_t q_tmp_8_5 = tmp_moved_constant_57*tmp_qloop_92;
+                   const real_t q_tmp_8_6 = tmp_moved_constant_61*tmp_qloop_92;
+                   const real_t q_tmp_8_7 = tmp_moved_constant_64*tmp_qloop_92;
+                   const real_t q_tmp_8_8 = tmp_moved_constant_66*tmp_qloop_92;
+                   const real_t q_tmp_8_9 = tmp_moved_constant_67*tmp_qloop_92;
+                   const real_t q_tmp_9_0 = tmp_moved_constant_49*tmp_qloop_94;
+                   const real_t q_tmp_9_1 = tmp_moved_constant_50*tmp_qloop_94;
+                   const real_t q_tmp_9_2 = tmp_moved_constant_51*tmp_qloop_94;
+                   const real_t q_tmp_9_3 = tmp_moved_constant_52*tmp_qloop_94;
+                   const real_t q_tmp_9_4 = tmp_moved_constant_56*tmp_qloop_94;
+                   const real_t q_tmp_9_5 = tmp_moved_constant_57*tmp_qloop_94;
+                   const real_t q_tmp_9_6 = tmp_moved_constant_61*tmp_qloop_94;
+                   const real_t q_tmp_9_7 = tmp_moved_constant_64*tmp_qloop_94;
+                   const real_t q_tmp_9_8 = tmp_moved_constant_66*tmp_qloop_94;
+                   const real_t q_tmp_9_9 = tmp_moved_constant_67*tmp_qloop_94;
+                   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;
+                   q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                   q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                   q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                   q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                   q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                   q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                   q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                   q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                   q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                   q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                   q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                   q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                   q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                   q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                   q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                   q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                   q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                   q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                   q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                   q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                   q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                   q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                   q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                   q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                   q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                   q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                   q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                   q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                   q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                   q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                   q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                   q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                   q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                   q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                   q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                   q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                   q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                   q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                   q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                   q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                   q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                   q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                   q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                   q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                   q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                   q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                   q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                   q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                   q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+                const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+                const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+                const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+                const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+                const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+                const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+                _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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] = elMatVec_7 + _data_dstEdge[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_dstEdge[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] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_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 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN;
+       const real_t tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN);
+       const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN);
+       const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN);
+       const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN);
+       const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN);
+       const real_t tmp_moved_constant_68 = jac_affine_inv_2_0_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_69 = jac_affine_inv_0_0_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_70 = jac_affine_inv_1_0_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_71 = tmp_moved_constant_69 + tmp_moved_constant_70;
+       const real_t tmp_moved_constant_72 = tmp_moved_constant_68 + tmp_moved_constant_71;
+       const real_t tmp_moved_constant_73 = jac_affine_inv_2_1_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_74 = jac_affine_inv_0_1_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_75 = jac_affine_inv_1_1_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_76 = tmp_moved_constant_74 + tmp_moved_constant_75;
+       const real_t tmp_moved_constant_77 = tmp_moved_constant_73 + tmp_moved_constant_76;
+       const real_t tmp_moved_constant_78 = jac_affine_inv_2_2_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_79 = jac_affine_inv_0_2_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_80 = jac_affine_inv_1_2_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_81 = tmp_moved_constant_79 + tmp_moved_constant_80;
+       const real_t tmp_moved_constant_82 = tmp_moved_constant_78 + tmp_moved_constant_81;
+       const real_t tmp_moved_constant_83 = jac_affine_inv_0_0_BLUE_DOWN*tmp_moved_constant_72 + jac_affine_inv_0_1_BLUE_DOWN*tmp_moved_constant_77 + jac_affine_inv_0_2_BLUE_DOWN*tmp_moved_constant_82 + jac_affine_inv_1_0_BLUE_DOWN*tmp_moved_constant_72 + jac_affine_inv_1_1_BLUE_DOWN*tmp_moved_constant_77 + jac_affine_inv_1_2_BLUE_DOWN*tmp_moved_constant_82 + jac_affine_inv_2_0_BLUE_DOWN*tmp_moved_constant_72 + jac_affine_inv_2_1_BLUE_DOWN*tmp_moved_constant_77 + jac_affine_inv_2_2_BLUE_DOWN*tmp_moved_constant_82;
+       const real_t tmp_moved_constant_84 = (jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN)*4.0 + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN)*4.0 + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)*4.0;
+       const real_t tmp_moved_constant_85 = (jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN)*4.0 + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN)*4.0 + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)*4.0;
+       const real_t tmp_moved_constant_86 = (jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN)*4.0 + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN)*4.0 + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)*4.0;
+       const real_t tmp_moved_constant_87 = jac_affine_inv_2_0_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_88 = jac_affine_inv_2_1_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_89 = jac_affine_inv_2_2_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_90 = jac_affine_inv_1_0_BLUE_DOWN*tmp_moved_constant_87 + jac_affine_inv_1_1_BLUE_DOWN*tmp_moved_constant_88 + jac_affine_inv_1_2_BLUE_DOWN*tmp_moved_constant_89;
+       const real_t tmp_moved_constant_91 = jac_affine_inv_0_0_BLUE_DOWN*tmp_moved_constant_87 + jac_affine_inv_0_1_BLUE_DOWN*tmp_moved_constant_88 + jac_affine_inv_0_2_BLUE_DOWN*tmp_moved_constant_89;
+       const real_t tmp_moved_constant_92 = jac_affine_inv_1_0_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_93 = jac_affine_inv_1_1_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_94 = jac_affine_inv_1_2_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_95 = jac_affine_inv_0_0_BLUE_DOWN*tmp_moved_constant_92 + jac_affine_inv_0_1_BLUE_DOWN*tmp_moved_constant_93 + jac_affine_inv_0_2_BLUE_DOWN*tmp_moved_constant_94;
+       const real_t tmp_moved_constant_96 = jac_affine_inv_2_0_BLUE_DOWN*tmp_moved_constant_70 + jac_affine_inv_2_1_BLUE_DOWN*tmp_moved_constant_75 + jac_affine_inv_2_2_BLUE_DOWN*tmp_moved_constant_80;
+       const real_t tmp_moved_constant_97 = jac_affine_inv_2_0_BLUE_DOWN*tmp_moved_constant_69 + jac_affine_inv_2_1_BLUE_DOWN*tmp_moved_constant_74 + jac_affine_inv_2_2_BLUE_DOWN*tmp_moved_constant_79;
+       const real_t tmp_moved_constant_98 = jac_affine_inv_2_0_BLUE_DOWN*(-tmp_moved_constant_71 - tmp_moved_constant_87) + jac_affine_inv_2_1_BLUE_DOWN*(-tmp_moved_constant_76 - tmp_moved_constant_88) + jac_affine_inv_2_2_BLUE_DOWN*(-tmp_moved_constant_81 - tmp_moved_constant_89) - tmp_moved_constant_96 - tmp_moved_constant_97;
+       const real_t tmp_moved_constant_99 = jac_affine_inv_1_0_BLUE_DOWN*tmp_moved_constant_69 + jac_affine_inv_1_1_BLUE_DOWN*tmp_moved_constant_74 + jac_affine_inv_1_2_BLUE_DOWN*tmp_moved_constant_79;
+       const real_t tmp_moved_constant_100 = jac_affine_inv_1_0_BLUE_DOWN*(-tmp_moved_constant_68 - tmp_moved_constant_69 - tmp_moved_constant_92) + jac_affine_inv_1_1_BLUE_DOWN*(-tmp_moved_constant_73 - tmp_moved_constant_74 - tmp_moved_constant_93) + jac_affine_inv_1_2_BLUE_DOWN*(-tmp_moved_constant_78 - tmp_moved_constant_79 - tmp_moved_constant_94) - tmp_moved_constant_96 - tmp_moved_constant_99;
+       const real_t tmp_moved_constant_101 = jac_affine_inv_0_0_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*-8.0 - tmp_moved_constant_68 - tmp_moved_constant_70) + jac_affine_inv_0_1_BLUE_DOWN*(jac_affine_inv_0_1_BLUE_DOWN*-8.0 - tmp_moved_constant_73 - tmp_moved_constant_75) + jac_affine_inv_0_2_BLUE_DOWN*(jac_affine_inv_0_2_BLUE_DOWN*-8.0 - tmp_moved_constant_78 - tmp_moved_constant_80) - tmp_moved_constant_97 - tmp_moved_constant_99;
+       {
+          /* CellType.BLUE_DOWN */
+          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 diffusivity_times_delta_dof_0 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_1 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_2 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_3 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_4 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_5 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_6 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_7 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_8 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_9 = _mm256_loadu_pd(& _data_wxEdge[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 wy_dof_0 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_1 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_2 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_3 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_4 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_5 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_6 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_7 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_8 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_9 = _mm256_loadu_pd(& _data_wyEdge[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 wz_dof_0 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_1 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_2 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_3 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_4 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_5 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_6 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_7 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_8 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_9 = _mm256_loadu_pd(& _data_wzEdge[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);
+                __m256d q_acc_4_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_16 = _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]));
+                   const __m256d tmp_qloop_17 = _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_18 = _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]));
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_17,tmp_qloop_18);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_16),tmp_qloop_19);
+                   const __m256d tmp_qloop_21 = _mm256_mul_pd(tmp_qloop_17,_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_22 = _mm256_mul_pd(tmp_qloop_17,_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_23 = _mm256_mul_pd(tmp_qloop_18,_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_24 = _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_25 = _mm256_mul_pd(tmp_qloop_24,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_26 = _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_25);
+                   const __m256d tmp_qloop_27 = _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_28 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_29 = _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_28);
+                   const __m256d tmp_qloop_30 = _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_31 = _mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_32 = _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_31);
+                   const __m256d tmp_qloop_33 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_16);
+                   const __m256d tmp_qloop_34 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_18);
+                   const __m256d tmp_qloop_35 = _mm256_add_pd(tmp_qloop_21,tmp_qloop_22);
+                   const __m256d tmp_qloop_36 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_24,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_17);
+                   const __m256d tmp_qloop_37 = _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_23),tmp_qloop_25),tmp_qloop_28),tmp_qloop_31),tmp_qloop_35);
+                   const __m256d tmp_qloop_38 = _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(tmp_qloop_21,wx_dof_6),_mm256_mul_pd(tmp_qloop_22,wx_dof_5)),_mm256_mul_pd(tmp_qloop_23,wx_dof_4)),_mm256_mul_pd(tmp_qloop_26,wx_dof_1)),_mm256_mul_pd(tmp_qloop_29,wx_dof_2)),_mm256_mul_pd(tmp_qloop_32,wx_dof_3)),_mm256_mul_pd(tmp_qloop_33,wx_dof_7)),_mm256_mul_pd(tmp_qloop_34,wx_dof_8)),_mm256_mul_pd(tmp_qloop_36,wx_dof_9)),_mm256_mul_pd(tmp_qloop_37,wx_dof_0));
+                   const __m256d tmp_qloop_39 = _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(tmp_qloop_21,wy_dof_6),_mm256_mul_pd(tmp_qloop_22,wy_dof_5)),_mm256_mul_pd(tmp_qloop_23,wy_dof_4)),_mm256_mul_pd(tmp_qloop_26,wy_dof_1)),_mm256_mul_pd(tmp_qloop_29,wy_dof_2)),_mm256_mul_pd(tmp_qloop_32,wy_dof_3)),_mm256_mul_pd(tmp_qloop_33,wy_dof_7)),_mm256_mul_pd(tmp_qloop_34,wy_dof_8)),_mm256_mul_pd(tmp_qloop_36,wy_dof_9)),_mm256_mul_pd(tmp_qloop_37,wy_dof_0));
+                   const __m256d tmp_qloop_40 = _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(tmp_qloop_21,wz_dof_6),_mm256_mul_pd(tmp_qloop_22,wz_dof_5)),_mm256_mul_pd(tmp_qloop_23,wz_dof_4)),_mm256_mul_pd(tmp_qloop_26,wz_dof_1)),_mm256_mul_pd(tmp_qloop_29,wz_dof_2)),_mm256_mul_pd(tmp_qloop_32,wz_dof_3)),_mm256_mul_pd(tmp_qloop_33,wz_dof_7)),_mm256_mul_pd(tmp_qloop_34,wz_dof_8)),_mm256_mul_pd(tmp_qloop_36,wz_dof_9)),_mm256_mul_pd(tmp_qloop_37,wz_dof_0));
+                   const __m256d tmp_qloop_41 = _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(diffusivity_times_delta_dof_0,tmp_qloop_37),_mm256_mul_pd(diffusivity_times_delta_dof_1,tmp_qloop_26)),_mm256_mul_pd(diffusivity_times_delta_dof_2,tmp_qloop_29)),_mm256_mul_pd(diffusivity_times_delta_dof_3,tmp_qloop_32)),_mm256_mul_pd(diffusivity_times_delta_dof_4,tmp_qloop_23)),_mm256_mul_pd(diffusivity_times_delta_dof_5,tmp_qloop_22)),_mm256_mul_pd(diffusivity_times_delta_dof_6,tmp_qloop_21)),_mm256_mul_pd(diffusivity_times_delta_dof_7,tmp_qloop_33)),_mm256_mul_pd(diffusivity_times_delta_dof_8,tmp_qloop_34)),_mm256_mul_pd(diffusivity_times_delta_dof_9,tmp_qloop_36)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))))));
+                   const __m256d tmp_qloop_61 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_17);
+                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_61),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,tmp_qloop_61),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,tmp_qloop_61),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))));
+                   const __m256d tmp_qloop_63 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_18);
+                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_63),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,tmp_qloop_63),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,tmp_qloop_63),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))));
+                   const __m256d tmp_qloop_65 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_16);
+                   const __m256d tmp_qloop_66 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_65),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,tmp_qloop_65),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,tmp_qloop_65),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))));
+                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_68 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_69 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_70 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_71 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_72 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_73 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(tmp_qloop_67,tmp_qloop_68)),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(tmp_qloop_69,tmp_qloop_70))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(tmp_qloop_71,tmp_qloop_72))));
+                   const __m256d tmp_qloop_74 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_75 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_76 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_77 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_78 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_79 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_80 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(tmp_qloop_74,tmp_qloop_75)),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(tmp_qloop_76,tmp_qloop_77))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(tmp_qloop_78,tmp_qloop_79))));
+                   const __m256d tmp_qloop_81 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_82 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_83 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_84 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_85 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_86 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_87 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(tmp_qloop_81,tmp_qloop_82)),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(tmp_qloop_83,tmp_qloop_84))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(tmp_qloop_85,tmp_qloop_86))));
+                   const __m256d tmp_qloop_88 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_89 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_75,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_88,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_70,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_77,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_88,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_79,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_88,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))))));
+                   const __m256d tmp_qloop_90 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_16);
+                   const __m256d tmp_qloop_91 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_90,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_92 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_82,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_91,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_69,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_84,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_91,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_86,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_91,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))))));
+                   const __m256d tmp_qloop_93 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_90,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_94 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_81,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_93,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_76,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_83,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_93,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_78,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_85,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_93,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))))));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91));
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95));
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98));
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100));
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86));
+                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90));
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91));
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95));
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98));
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100));
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90));
+                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91));
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95));
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98));
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100));
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101));
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83));
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84));
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90));
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91));
+                   const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95));
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98));
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100));
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101));
+                   const __m256d q_tmp_4_0 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83));
+                   const __m256d q_tmp_4_1 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84));
+                   const __m256d q_tmp_4_2 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85));
+                   const __m256d q_tmp_4_3 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90));
+                   const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91));
+                   const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95));
+                   const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98));
+                   const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100));
+                   const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101));
+                   const __m256d q_tmp_5_0 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83));
+                   const __m256d q_tmp_5_1 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84));
+                   const __m256d q_tmp_5_2 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85));
+                   const __m256d q_tmp_5_3 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86));
+                   const __m256d q_tmp_5_4 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91));
+                   const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95));
+                   const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98));
+                   const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100));
+                   const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101));
+                   const __m256d q_tmp_6_0 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83));
+                   const __m256d q_tmp_6_1 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84));
+                   const __m256d q_tmp_6_2 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85));
+                   const __m256d q_tmp_6_3 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86));
+                   const __m256d q_tmp_6_4 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90));
+                   const __m256d q_tmp_6_5 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95));
+                   const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98));
+                   const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100));
+                   const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101));
+                   const __m256d q_tmp_7_0 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83));
+                   const __m256d q_tmp_7_1 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84));
+                   const __m256d q_tmp_7_2 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85));
+                   const __m256d q_tmp_7_3 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86));
+                   const __m256d q_tmp_7_4 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90));
+                   const __m256d q_tmp_7_5 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91));
+                   const __m256d q_tmp_7_6 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98));
+                   const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100));
+                   const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101));
+                   const __m256d q_tmp_8_0 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83));
+                   const __m256d q_tmp_8_1 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84));
+                   const __m256d q_tmp_8_2 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85));
+                   const __m256d q_tmp_8_3 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86));
+                   const __m256d q_tmp_8_4 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90));
+                   const __m256d q_tmp_8_5 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91));
+                   const __m256d q_tmp_8_6 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95));
+                   const __m256d q_tmp_8_7 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100));
+                   const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101));
+                   const __m256d q_tmp_9_0 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83));
+                   const __m256d q_tmp_9_1 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84));
+                   const __m256d q_tmp_9_2 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85));
+                   const __m256d q_tmp_9_3 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86));
+                   const __m256d q_tmp_9_4 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90));
+                   const __m256d q_tmp_9_5 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91));
+                   const __m256d q_tmp_9_6 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95));
+                   const __m256d q_tmp_9_7 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98));
+                   const __m256d q_tmp_9_8 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101));
+                   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);
+                   q_acc_4_0 = _mm256_add_pd(q_acc_4_0,q_tmp_4_0);
+                   q_acc_4_1 = _mm256_add_pd(q_acc_4_1,q_tmp_4_1);
+                   q_acc_4_2 = _mm256_add_pd(q_acc_4_2,q_tmp_4_2);
+                   q_acc_4_3 = _mm256_add_pd(q_acc_4_3,q_tmp_4_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5);
+                   q_acc_4_6 = _mm256_add_pd(q_acc_4_6,q_tmp_4_6);
+                   q_acc_4_7 = _mm256_add_pd(q_acc_4_7,q_tmp_4_7);
+                   q_acc_4_8 = _mm256_add_pd(q_acc_4_8,q_tmp_4_8);
+                   q_acc_4_9 = _mm256_add_pd(q_acc_4_9,q_tmp_4_9);
+                   q_acc_5_0 = _mm256_add_pd(q_acc_5_0,q_tmp_5_0);
+                   q_acc_5_1 = _mm256_add_pd(q_acc_5_1,q_tmp_5_1);
+                   q_acc_5_2 = _mm256_add_pd(q_acc_5_2,q_tmp_5_2);
+                   q_acc_5_3 = _mm256_add_pd(q_acc_5_3,q_tmp_5_3);
+                   q_acc_5_4 = _mm256_add_pd(q_acc_5_4,q_tmp_5_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_5_6 = _mm256_add_pd(q_acc_5_6,q_tmp_5_6);
+                   q_acc_5_7 = _mm256_add_pd(q_acc_5_7,q_tmp_5_7);
+                   q_acc_5_8 = _mm256_add_pd(q_acc_5_8,q_tmp_5_8);
+                   q_acc_5_9 = _mm256_add_pd(q_acc_5_9,q_tmp_5_9);
+                   q_acc_6_0 = _mm256_add_pd(q_acc_6_0,q_tmp_6_0);
+                   q_acc_6_1 = _mm256_add_pd(q_acc_6_1,q_tmp_6_1);
+                   q_acc_6_2 = _mm256_add_pd(q_acc_6_2,q_tmp_6_2);
+                   q_acc_6_3 = _mm256_add_pd(q_acc_6_3,q_tmp_6_3);
+                   q_acc_6_4 = _mm256_add_pd(q_acc_6_4,q_tmp_6_4);
+                   q_acc_6_5 = _mm256_add_pd(q_acc_6_5,q_tmp_6_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_6_7 = _mm256_add_pd(q_acc_6_7,q_tmp_6_7);
+                   q_acc_6_8 = _mm256_add_pd(q_acc_6_8,q_tmp_6_8);
+                   q_acc_6_9 = _mm256_add_pd(q_acc_6_9,q_tmp_6_9);
+                   q_acc_7_0 = _mm256_add_pd(q_acc_7_0,q_tmp_7_0);
+                   q_acc_7_1 = _mm256_add_pd(q_acc_7_1,q_tmp_7_1);
+                   q_acc_7_2 = _mm256_add_pd(q_acc_7_2,q_tmp_7_2);
+                   q_acc_7_3 = _mm256_add_pd(q_acc_7_3,q_tmp_7_3);
+                   q_acc_7_4 = _mm256_add_pd(q_acc_7_4,q_tmp_7_4);
+                   q_acc_7_5 = _mm256_add_pd(q_acc_7_5,q_tmp_7_5);
+                   q_acc_7_6 = _mm256_add_pd(q_acc_7_6,q_tmp_7_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_7_8 = _mm256_add_pd(q_acc_7_8,q_tmp_7_8);
+                   q_acc_7_9 = _mm256_add_pd(q_acc_7_9,q_tmp_7_9);
+                   q_acc_8_0 = _mm256_add_pd(q_acc_8_0,q_tmp_8_0);
+                   q_acc_8_1 = _mm256_add_pd(q_acc_8_1,q_tmp_8_1);
+                   q_acc_8_2 = _mm256_add_pd(q_acc_8_2,q_tmp_8_2);
+                   q_acc_8_3 = _mm256_add_pd(q_acc_8_3,q_tmp_8_3);
+                   q_acc_8_4 = _mm256_add_pd(q_acc_8_4,q_tmp_8_4);
+                   q_acc_8_5 = _mm256_add_pd(q_acc_8_5,q_tmp_8_5);
+                   q_acc_8_6 = _mm256_add_pd(q_acc_8_6,q_tmp_8_6);
+                   q_acc_8_7 = _mm256_add_pd(q_acc_8_7,q_tmp_8_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_8_9 = _mm256_add_pd(q_acc_8_9,q_tmp_8_9);
+                   q_acc_9_0 = _mm256_add_pd(q_acc_9_0,q_tmp_9_0);
+                   q_acc_9_1 = _mm256_add_pd(q_acc_9_1,q_tmp_9_1);
+                   q_acc_9_2 = _mm256_add_pd(q_acc_9_2,q_tmp_9_2);
+                   q_acc_9_3 = _mm256_add_pd(q_acc_9_3,q_tmp_9_3);
+                   q_acc_9_4 = _mm256_add_pd(q_acc_9_4,q_tmp_9_4);
+                   q_acc_9_5 = _mm256_add_pd(q_acc_9_5,q_tmp_9_5);
+                   q_acc_9_6 = _mm256_add_pd(q_acc_9_6,q_tmp_9_6);
+                   q_acc_9_7 = _mm256_add_pd(q_acc_9_7,q_tmp_9_7);
+                   q_acc_9_8 = _mm256_add_pd(q_acc_9_8,q_tmp_9_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_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));
+                const __m256d elMatVec_4 = _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_4_0,src_dof_0),_mm256_mul_pd(q_acc_4_1,src_dof_1)),_mm256_mul_pd(q_acc_4_2,src_dof_2)),_mm256_mul_pd(q_acc_4_3,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)),_mm256_mul_pd(q_acc_4_6,src_dof_6)),_mm256_mul_pd(q_acc_4_7,src_dof_7)),_mm256_mul_pd(q_acc_4_8,src_dof_8)),_mm256_mul_pd(q_acc_4_9,src_dof_9));
+                const __m256d elMatVec_5 = _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_5_0,src_dof_0),_mm256_mul_pd(q_acc_5_1,src_dof_1)),_mm256_mul_pd(q_acc_5_2,src_dof_2)),_mm256_mul_pd(q_acc_5_3,src_dof_3)),_mm256_mul_pd(q_acc_5_4,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)),_mm256_mul_pd(q_acc_5_6,src_dof_6)),_mm256_mul_pd(q_acc_5_7,src_dof_7)),_mm256_mul_pd(q_acc_5_8,src_dof_8)),_mm256_mul_pd(q_acc_5_9,src_dof_9));
+                const __m256d elMatVec_6 = _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_6_0,src_dof_0),_mm256_mul_pd(q_acc_6_1,src_dof_1)),_mm256_mul_pd(q_acc_6_2,src_dof_2)),_mm256_mul_pd(q_acc_6_3,src_dof_3)),_mm256_mul_pd(q_acc_6_4,src_dof_4)),_mm256_mul_pd(q_acc_6_5,src_dof_5)),_mm256_mul_pd(q_acc_6_6,src_dof_6)),_mm256_mul_pd(q_acc_6_7,src_dof_7)),_mm256_mul_pd(q_acc_6_8,src_dof_8)),_mm256_mul_pd(q_acc_6_9,src_dof_9));
+                const __m256d elMatVec_7 = _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_7_0,src_dof_0),_mm256_mul_pd(q_acc_7_1,src_dof_1)),_mm256_mul_pd(q_acc_7_2,src_dof_2)),_mm256_mul_pd(q_acc_7_3,src_dof_3)),_mm256_mul_pd(q_acc_7_4,src_dof_4)),_mm256_mul_pd(q_acc_7_5,src_dof_5)),_mm256_mul_pd(q_acc_7_6,src_dof_6)),_mm256_mul_pd(q_acc_7_7,src_dof_7)),_mm256_mul_pd(q_acc_7_8,src_dof_8)),_mm256_mul_pd(q_acc_7_9,src_dof_9));
+                const __m256d elMatVec_8 = _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_8_0,src_dof_0),_mm256_mul_pd(q_acc_8_1,src_dof_1)),_mm256_mul_pd(q_acc_8_2,src_dof_2)),_mm256_mul_pd(q_acc_8_3,src_dof_3)),_mm256_mul_pd(q_acc_8_4,src_dof_4)),_mm256_mul_pd(q_acc_8_5,src_dof_5)),_mm256_mul_pd(q_acc_8_6,src_dof_6)),_mm256_mul_pd(q_acc_8_7,src_dof_7)),_mm256_mul_pd(q_acc_8_8,src_dof_8)),_mm256_mul_pd(q_acc_8_9,src_dof_9));
+                const __m256d elMatVec_9 = _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_9_0,src_dof_0),_mm256_mul_pd(q_acc_9_1,src_dof_1)),_mm256_mul_pd(q_acc_9_2,src_dof_2)),_mm256_mul_pd(q_acc_9_3,src_dof_3)),_mm256_mul_pd(q_acc_9_4,src_dof_4)),_mm256_mul_pd(q_acc_9_5,src_dof_5)),_mm256_mul_pd(q_acc_9_6,src_dof_6)),_mm256_mul_pd(q_acc_9_7,src_dof_7)),_mm256_mul_pd(q_acc_9_8,src_dof_8)),_mm256_mul_pd(q_acc_9_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_6,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_7,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_8,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_9,_mm256_loadu_pd(& _data_dstEdge[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))])));
+             }
+             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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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;
+                real_t q_acc_4_0 = 0.0;
+                real_t q_acc_4_1 = 0.0;
+                real_t q_acc_4_2 = 0.0;
+                real_t q_acc_4_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_4_5 = 0.0;
+                real_t q_acc_4_6 = 0.0;
+                real_t q_acc_4_7 = 0.0;
+                real_t q_acc_4_8 = 0.0;
+                real_t q_acc_4_9 = 0.0;
+                real_t q_acc_5_0 = 0.0;
+                real_t q_acc_5_1 = 0.0;
+                real_t q_acc_5_2 = 0.0;
+                real_t q_acc_5_3 = 0.0;
+                real_t q_acc_5_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_5_6 = 0.0;
+                real_t q_acc_5_7 = 0.0;
+                real_t q_acc_5_8 = 0.0;
+                real_t q_acc_5_9 = 0.0;
+                real_t q_acc_6_0 = 0.0;
+                real_t q_acc_6_1 = 0.0;
+                real_t q_acc_6_2 = 0.0;
+                real_t q_acc_6_3 = 0.0;
+                real_t q_acc_6_4 = 0.0;
+                real_t q_acc_6_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_6_7 = 0.0;
+                real_t q_acc_6_8 = 0.0;
+                real_t q_acc_6_9 = 0.0;
+                real_t q_acc_7_0 = 0.0;
+                real_t q_acc_7_1 = 0.0;
+                real_t q_acc_7_2 = 0.0;
+                real_t q_acc_7_3 = 0.0;
+                real_t q_acc_7_4 = 0.0;
+                real_t q_acc_7_5 = 0.0;
+                real_t q_acc_7_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_7_8 = 0.0;
+                real_t q_acc_7_9 = 0.0;
+                real_t q_acc_8_0 = 0.0;
+                real_t q_acc_8_1 = 0.0;
+                real_t q_acc_8_2 = 0.0;
+                real_t q_acc_8_3 = 0.0;
+                real_t q_acc_8_4 = 0.0;
+                real_t q_acc_8_5 = 0.0;
+                real_t q_acc_8_6 = 0.0;
+                real_t q_acc_8_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_8_9 = 0.0;
+                real_t q_acc_9_0 = 0.0;
+                real_t q_acc_9_1 = 0.0;
+                real_t q_acc_9_2 = 0.0;
+                real_t q_acc_9_3 = 0.0;
+                real_t q_acc_9_4 = 0.0;
+                real_t q_acc_9_5 = 0.0;
+                real_t q_acc_9_6 = 0.0;
+                real_t q_acc_9_7 = 0.0;
+                real_t q_acc_9_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_16 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_17 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_18 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18;
+                   const real_t tmp_qloop_20 = tmp_qloop_16 + tmp_qloop_19 - 3.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_17*_data_q_p_1[q];
+                   const real_t tmp_qloop_22 = tmp_qloop_17*_data_q_p_2[q];
+                   const real_t tmp_qloop_23 = tmp_qloop_18*_data_q_p_2[q];
+                   const real_t tmp_qloop_24 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_25 = tmp_qloop_24*2.0;
+                   const real_t tmp_qloop_26 = tmp_qloop_25 - _data_q_p_0[q];
+                   const real_t tmp_qloop_27 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_28 = tmp_qloop_27*2.0;
+                   const real_t tmp_qloop_29 = tmp_qloop_28 - _data_q_p_1[q];
+                   const real_t tmp_qloop_30 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_31 = tmp_qloop_30*2.0;
+                   const real_t tmp_qloop_32 = tmp_qloop_31 - _data_q_p_2[q];
+                   const real_t tmp_qloop_33 = tmp_qloop_16 - tmp_qloop_22 - tmp_qloop_23 + tmp_qloop_30*-4.0;
+                   const real_t tmp_qloop_34 = tmp_qloop_18 - tmp_qloop_21 - tmp_qloop_23 + tmp_qloop_27*-4.0;
+                   const real_t tmp_qloop_35 = tmp_qloop_21 + tmp_qloop_22;
+                   const real_t tmp_qloop_36 = tmp_qloop_17 + tmp_qloop_24*-4.0 - tmp_qloop_35;
+                   const real_t tmp_qloop_37 = tmp_qloop_23 + tmp_qloop_25 + tmp_qloop_28 + tmp_qloop_31 + tmp_qloop_35 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                   const real_t tmp_qloop_38 = tmp_qloop_21*wx_dof_6 + tmp_qloop_22*wx_dof_5 + tmp_qloop_23*wx_dof_4 + tmp_qloop_26*wx_dof_1 + tmp_qloop_29*wx_dof_2 + tmp_qloop_32*wx_dof_3 + tmp_qloop_33*wx_dof_7 + tmp_qloop_34*wx_dof_8 + tmp_qloop_36*wx_dof_9 + tmp_qloop_37*wx_dof_0;
+                   const real_t tmp_qloop_39 = tmp_qloop_21*wy_dof_6 + tmp_qloop_22*wy_dof_5 + tmp_qloop_23*wy_dof_4 + tmp_qloop_26*wy_dof_1 + tmp_qloop_29*wy_dof_2 + tmp_qloop_32*wy_dof_3 + tmp_qloop_33*wy_dof_7 + tmp_qloop_34*wy_dof_8 + tmp_qloop_36*wy_dof_9 + tmp_qloop_37*wy_dof_0;
+                   const real_t tmp_qloop_40 = tmp_qloop_21*wz_dof_6 + tmp_qloop_22*wz_dof_5 + tmp_qloop_23*wz_dof_4 + tmp_qloop_26*wz_dof_1 + tmp_qloop_29*wz_dof_2 + tmp_qloop_32*wz_dof_3 + tmp_qloop_33*wz_dof_7 + tmp_qloop_34*wz_dof_8 + tmp_qloop_36*wz_dof_9 + tmp_qloop_37*wz_dof_0;
+                   const real_t tmp_qloop_41 = abs_det_jac_affine_BLUE_DOWN*(diffusivity_times_delta_dof_0*tmp_qloop_37 + diffusivity_times_delta_dof_1*tmp_qloop_26 + diffusivity_times_delta_dof_2*tmp_qloop_29 + diffusivity_times_delta_dof_3*tmp_qloop_32 + diffusivity_times_delta_dof_4*tmp_qloop_23 + diffusivity_times_delta_dof_5*tmp_qloop_22 + diffusivity_times_delta_dof_6*tmp_qloop_21 + diffusivity_times_delta_dof_7*tmp_qloop_33 + diffusivity_times_delta_dof_8*tmp_qloop_34 + diffusivity_times_delta_dof_9*tmp_qloop_36)*_data_q_w[q];
+                   const real_t tmp_qloop_42 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_20 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_20 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_20) + tmp_qloop_39*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_20 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_20 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_20) + tmp_qloop_40*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_20 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_20 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_20));
+                   const real_t tmp_qloop_61 = tmp_qloop_17 - 1.0;
+                   const real_t tmp_qloop_62 = tmp_qloop_41*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_38*tmp_qloop_61 + jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_39*tmp_qloop_61 + jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_40*tmp_qloop_61);
+                   const real_t tmp_qloop_63 = tmp_qloop_18 - 1.0;
+                   const real_t tmp_qloop_64 = tmp_qloop_41*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_38*tmp_qloop_63 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_39*tmp_qloop_63 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_40*tmp_qloop_63);
+                   const real_t tmp_qloop_65 = tmp_qloop_16 - 1.0;
+                   const real_t tmp_qloop_66 = tmp_qloop_41*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_38*tmp_qloop_65 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_39*tmp_qloop_65 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_40*tmp_qloop_65);
+                   const real_t tmp_qloop_67 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_18;
+                   const real_t tmp_qloop_68 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_16;
+                   const real_t tmp_qloop_69 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_18;
+                   const real_t tmp_qloop_70 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_16;
+                   const real_t tmp_qloop_71 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_18;
+                   const real_t tmp_qloop_72 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_16;
+                   const real_t tmp_qloop_73 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_67 + tmp_qloop_68) + tmp_qloop_39*(tmp_qloop_69 + tmp_qloop_70) + tmp_qloop_40*(tmp_qloop_71 + tmp_qloop_72));
+                   const real_t tmp_qloop_74 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_17;
+                   const real_t tmp_qloop_75 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_16;
+                   const real_t tmp_qloop_76 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_17;
+                   const real_t tmp_qloop_77 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_16;
+                   const real_t tmp_qloop_78 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_17;
+                   const real_t tmp_qloop_79 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_16;
+                   const real_t tmp_qloop_80 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_74 + tmp_qloop_75) + tmp_qloop_39*(tmp_qloop_76 + tmp_qloop_77) + tmp_qloop_40*(tmp_qloop_78 + tmp_qloop_79));
+                   const real_t tmp_qloop_81 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_17;
+                   const real_t tmp_qloop_82 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_18;
+                   const real_t tmp_qloop_83 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_17;
+                   const real_t tmp_qloop_84 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_18;
+                   const real_t tmp_qloop_85 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_17;
+                   const real_t tmp_qloop_86 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_18;
+                   const real_t tmp_qloop_87 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_81 + tmp_qloop_82) + tmp_qloop_39*(tmp_qloop_83 + tmp_qloop_84) + tmp_qloop_40*(tmp_qloop_85 + tmp_qloop_86));
+                   const real_t tmp_qloop_88 = -tmp_qloop_19 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_89 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_88 - tmp_qloop_68 - tmp_qloop_75) + tmp_qloop_39*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_88 - tmp_qloop_70 - tmp_qloop_77) + tmp_qloop_40*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_88 - tmp_qloop_72 - tmp_qloop_79));
+                   const real_t tmp_qloop_90 = tmp_qloop_16 - 4.0;
+                   const real_t tmp_qloop_91 = -tmp_qloop_17 - tmp_qloop_90 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_92 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_91 - tmp_qloop_67 - tmp_qloop_82) + tmp_qloop_39*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_91 - tmp_qloop_69 - tmp_qloop_84) + tmp_qloop_40*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_91 - tmp_qloop_71 - tmp_qloop_86));
+                   const real_t tmp_qloop_93 = -tmp_qloop_18 - tmp_qloop_90 - 8.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_94 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_93 - tmp_qloop_74 - tmp_qloop_81) + tmp_qloop_39*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_93 - tmp_qloop_76 - tmp_qloop_83) + tmp_qloop_40*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_93 - tmp_qloop_78 - tmp_qloop_85));
+                   const real_t q_tmp_0_0 = tmp_moved_constant_83*tmp_qloop_42;
+                   const real_t q_tmp_0_1 = tmp_moved_constant_84*tmp_qloop_42;
+                   const real_t q_tmp_0_2 = tmp_moved_constant_85*tmp_qloop_42;
+                   const real_t q_tmp_0_3 = tmp_moved_constant_86*tmp_qloop_42;
+                   const real_t q_tmp_0_4 = tmp_moved_constant_90*tmp_qloop_42;
+                   const real_t q_tmp_0_5 = tmp_moved_constant_91*tmp_qloop_42;
+                   const real_t q_tmp_0_6 = tmp_moved_constant_95*tmp_qloop_42;
+                   const real_t q_tmp_0_7 = tmp_moved_constant_98*tmp_qloop_42;
+                   const real_t q_tmp_0_8 = tmp_moved_constant_100*tmp_qloop_42;
+                   const real_t q_tmp_0_9 = tmp_moved_constant_101*tmp_qloop_42;
+                   const real_t q_tmp_1_0 = tmp_moved_constant_83*tmp_qloop_62;
+                   const real_t q_tmp_1_1 = tmp_moved_constant_84*tmp_qloop_62;
+                   const real_t q_tmp_1_2 = tmp_moved_constant_85*tmp_qloop_62;
+                   const real_t q_tmp_1_3 = tmp_moved_constant_86*tmp_qloop_62;
+                   const real_t q_tmp_1_4 = tmp_moved_constant_90*tmp_qloop_62;
+                   const real_t q_tmp_1_5 = tmp_moved_constant_91*tmp_qloop_62;
+                   const real_t q_tmp_1_6 = tmp_moved_constant_95*tmp_qloop_62;
+                   const real_t q_tmp_1_7 = tmp_moved_constant_98*tmp_qloop_62;
+                   const real_t q_tmp_1_8 = tmp_moved_constant_100*tmp_qloop_62;
+                   const real_t q_tmp_1_9 = tmp_moved_constant_101*tmp_qloop_62;
+                   const real_t q_tmp_2_0 = tmp_moved_constant_83*tmp_qloop_64;
+                   const real_t q_tmp_2_1 = tmp_moved_constant_84*tmp_qloop_64;
+                   const real_t q_tmp_2_2 = tmp_moved_constant_85*tmp_qloop_64;
+                   const real_t q_tmp_2_3 = tmp_moved_constant_86*tmp_qloop_64;
+                   const real_t q_tmp_2_4 = tmp_moved_constant_90*tmp_qloop_64;
+                   const real_t q_tmp_2_5 = tmp_moved_constant_91*tmp_qloop_64;
+                   const real_t q_tmp_2_6 = tmp_moved_constant_95*tmp_qloop_64;
+                   const real_t q_tmp_2_7 = tmp_moved_constant_98*tmp_qloop_64;
+                   const real_t q_tmp_2_8 = tmp_moved_constant_100*tmp_qloop_64;
+                   const real_t q_tmp_2_9 = tmp_moved_constant_101*tmp_qloop_64;
+                   const real_t q_tmp_3_0 = tmp_moved_constant_83*tmp_qloop_66;
+                   const real_t q_tmp_3_1 = tmp_moved_constant_84*tmp_qloop_66;
+                   const real_t q_tmp_3_2 = tmp_moved_constant_85*tmp_qloop_66;
+                   const real_t q_tmp_3_3 = tmp_moved_constant_86*tmp_qloop_66;
+                   const real_t q_tmp_3_4 = tmp_moved_constant_90*tmp_qloop_66;
+                   const real_t q_tmp_3_5 = tmp_moved_constant_91*tmp_qloop_66;
+                   const real_t q_tmp_3_6 = tmp_moved_constant_95*tmp_qloop_66;
+                   const real_t q_tmp_3_7 = tmp_moved_constant_98*tmp_qloop_66;
+                   const real_t q_tmp_3_8 = tmp_moved_constant_100*tmp_qloop_66;
+                   const real_t q_tmp_3_9 = tmp_moved_constant_101*tmp_qloop_66;
+                   const real_t q_tmp_4_0 = tmp_moved_constant_83*tmp_qloop_73;
+                   const real_t q_tmp_4_1 = tmp_moved_constant_84*tmp_qloop_73;
+                   const real_t q_tmp_4_2 = tmp_moved_constant_85*tmp_qloop_73;
+                   const real_t q_tmp_4_3 = tmp_moved_constant_86*tmp_qloop_73;
+                   const real_t q_tmp_4_4 = tmp_moved_constant_90*tmp_qloop_73;
+                   const real_t q_tmp_4_5 = tmp_moved_constant_91*tmp_qloop_73;
+                   const real_t q_tmp_4_6 = tmp_moved_constant_95*tmp_qloop_73;
+                   const real_t q_tmp_4_7 = tmp_moved_constant_98*tmp_qloop_73;
+                   const real_t q_tmp_4_8 = tmp_moved_constant_100*tmp_qloop_73;
+                   const real_t q_tmp_4_9 = tmp_moved_constant_101*tmp_qloop_73;
+                   const real_t q_tmp_5_0 = tmp_moved_constant_83*tmp_qloop_80;
+                   const real_t q_tmp_5_1 = tmp_moved_constant_84*tmp_qloop_80;
+                   const real_t q_tmp_5_2 = tmp_moved_constant_85*tmp_qloop_80;
+                   const real_t q_tmp_5_3 = tmp_moved_constant_86*tmp_qloop_80;
+                   const real_t q_tmp_5_4 = tmp_moved_constant_90*tmp_qloop_80;
+                   const real_t q_tmp_5_5 = tmp_moved_constant_91*tmp_qloop_80;
+                   const real_t q_tmp_5_6 = tmp_moved_constant_95*tmp_qloop_80;
+                   const real_t q_tmp_5_7 = tmp_moved_constant_98*tmp_qloop_80;
+                   const real_t q_tmp_5_8 = tmp_moved_constant_100*tmp_qloop_80;
+                   const real_t q_tmp_5_9 = tmp_moved_constant_101*tmp_qloop_80;
+                   const real_t q_tmp_6_0 = tmp_moved_constant_83*tmp_qloop_87;
+                   const real_t q_tmp_6_1 = tmp_moved_constant_84*tmp_qloop_87;
+                   const real_t q_tmp_6_2 = tmp_moved_constant_85*tmp_qloop_87;
+                   const real_t q_tmp_6_3 = tmp_moved_constant_86*tmp_qloop_87;
+                   const real_t q_tmp_6_4 = tmp_moved_constant_90*tmp_qloop_87;
+                   const real_t q_tmp_6_5 = tmp_moved_constant_91*tmp_qloop_87;
+                   const real_t q_tmp_6_6 = tmp_moved_constant_95*tmp_qloop_87;
+                   const real_t q_tmp_6_7 = tmp_moved_constant_98*tmp_qloop_87;
+                   const real_t q_tmp_6_8 = tmp_moved_constant_100*tmp_qloop_87;
+                   const real_t q_tmp_6_9 = tmp_moved_constant_101*tmp_qloop_87;
+                   const real_t q_tmp_7_0 = tmp_moved_constant_83*tmp_qloop_89;
+                   const real_t q_tmp_7_1 = tmp_moved_constant_84*tmp_qloop_89;
+                   const real_t q_tmp_7_2 = tmp_moved_constant_85*tmp_qloop_89;
+                   const real_t q_tmp_7_3 = tmp_moved_constant_86*tmp_qloop_89;
+                   const real_t q_tmp_7_4 = tmp_moved_constant_90*tmp_qloop_89;
+                   const real_t q_tmp_7_5 = tmp_moved_constant_91*tmp_qloop_89;
+                   const real_t q_tmp_7_6 = tmp_moved_constant_95*tmp_qloop_89;
+                   const real_t q_tmp_7_7 = tmp_moved_constant_98*tmp_qloop_89;
+                   const real_t q_tmp_7_8 = tmp_moved_constant_100*tmp_qloop_89;
+                   const real_t q_tmp_7_9 = tmp_moved_constant_101*tmp_qloop_89;
+                   const real_t q_tmp_8_0 = tmp_moved_constant_83*tmp_qloop_92;
+                   const real_t q_tmp_8_1 = tmp_moved_constant_84*tmp_qloop_92;
+                   const real_t q_tmp_8_2 = tmp_moved_constant_85*tmp_qloop_92;
+                   const real_t q_tmp_8_3 = tmp_moved_constant_86*tmp_qloop_92;
+                   const real_t q_tmp_8_4 = tmp_moved_constant_90*tmp_qloop_92;
+                   const real_t q_tmp_8_5 = tmp_moved_constant_91*tmp_qloop_92;
+                   const real_t q_tmp_8_6 = tmp_moved_constant_95*tmp_qloop_92;
+                   const real_t q_tmp_8_7 = tmp_moved_constant_98*tmp_qloop_92;
+                   const real_t q_tmp_8_8 = tmp_moved_constant_100*tmp_qloop_92;
+                   const real_t q_tmp_8_9 = tmp_moved_constant_101*tmp_qloop_92;
+                   const real_t q_tmp_9_0 = tmp_moved_constant_83*tmp_qloop_94;
+                   const real_t q_tmp_9_1 = tmp_moved_constant_84*tmp_qloop_94;
+                   const real_t q_tmp_9_2 = tmp_moved_constant_85*tmp_qloop_94;
+                   const real_t q_tmp_9_3 = tmp_moved_constant_86*tmp_qloop_94;
+                   const real_t q_tmp_9_4 = tmp_moved_constant_90*tmp_qloop_94;
+                   const real_t q_tmp_9_5 = tmp_moved_constant_91*tmp_qloop_94;
+                   const real_t q_tmp_9_6 = tmp_moved_constant_95*tmp_qloop_94;
+                   const real_t q_tmp_9_7 = tmp_moved_constant_98*tmp_qloop_94;
+                   const real_t q_tmp_9_8 = tmp_moved_constant_100*tmp_qloop_94;
+                   const real_t q_tmp_9_9 = tmp_moved_constant_101*tmp_qloop_94;
+                   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;
+                   q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                   q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                   q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                   q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                   q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                   q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                   q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                   q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                   q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                   q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                   q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                   q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                   q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                   q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                   q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                   q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                   q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                   q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                   q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                   q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                   q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                   q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                   q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                   q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                   q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                   q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                   q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                   q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                   q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                   q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                   q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                   q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                   q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                   q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                   q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                   q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                   q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                   q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                   q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                   q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                   q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                   q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                   q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                   q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                   q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                   q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                   q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                   q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                   q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+                const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+                const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+                const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+                const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+                const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+                const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+                _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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))] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_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 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_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 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_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 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP;
+       const real_t tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP);
+       const real_t jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP);
+       const real_t jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP);
+       const real_t jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP);
+       const real_t jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP);
+       const real_t tmp_moved_constant_102 = jac_affine_inv_2_0_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_103 = jac_affine_inv_0_0_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_104 = jac_affine_inv_1_0_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_105 = tmp_moved_constant_103 + tmp_moved_constant_104;
+       const real_t tmp_moved_constant_106 = tmp_moved_constant_102 + tmp_moved_constant_105;
+       const real_t tmp_moved_constant_107 = jac_affine_inv_2_1_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_108 = jac_affine_inv_0_1_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_109 = jac_affine_inv_1_1_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_110 = tmp_moved_constant_108 + tmp_moved_constant_109;
+       const real_t tmp_moved_constant_111 = tmp_moved_constant_107 + tmp_moved_constant_110;
+       const real_t tmp_moved_constant_112 = jac_affine_inv_2_2_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_113 = jac_affine_inv_0_2_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_114 = jac_affine_inv_1_2_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_115 = tmp_moved_constant_113 + tmp_moved_constant_114;
+       const real_t tmp_moved_constant_116 = tmp_moved_constant_112 + tmp_moved_constant_115;
+       const real_t tmp_moved_constant_117 = jac_affine_inv_0_0_GREEN_UP*tmp_moved_constant_106 + jac_affine_inv_0_1_GREEN_UP*tmp_moved_constant_111 + jac_affine_inv_0_2_GREEN_UP*tmp_moved_constant_116 + jac_affine_inv_1_0_GREEN_UP*tmp_moved_constant_106 + jac_affine_inv_1_1_GREEN_UP*tmp_moved_constant_111 + jac_affine_inv_1_2_GREEN_UP*tmp_moved_constant_116 + jac_affine_inv_2_0_GREEN_UP*tmp_moved_constant_106 + jac_affine_inv_2_1_GREEN_UP*tmp_moved_constant_111 + jac_affine_inv_2_2_GREEN_UP*tmp_moved_constant_116;
+       const real_t tmp_moved_constant_118 = (jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP)*4.0 + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP)*4.0 + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)*4.0;
+       const real_t tmp_moved_constant_119 = (jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP)*4.0 + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP)*4.0 + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)*4.0;
+       const real_t tmp_moved_constant_120 = (jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP)*4.0 + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP)*4.0 + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)*4.0;
+       const real_t tmp_moved_constant_121 = jac_affine_inv_2_0_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_122 = jac_affine_inv_2_1_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_123 = jac_affine_inv_2_2_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_124 = jac_affine_inv_1_0_GREEN_UP*tmp_moved_constant_121 + jac_affine_inv_1_1_GREEN_UP*tmp_moved_constant_122 + jac_affine_inv_1_2_GREEN_UP*tmp_moved_constant_123;
+       const real_t tmp_moved_constant_125 = jac_affine_inv_0_0_GREEN_UP*tmp_moved_constant_121 + jac_affine_inv_0_1_GREEN_UP*tmp_moved_constant_122 + jac_affine_inv_0_2_GREEN_UP*tmp_moved_constant_123;
+       const real_t tmp_moved_constant_126 = jac_affine_inv_1_0_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_127 = jac_affine_inv_1_1_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_128 = jac_affine_inv_1_2_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_129 = jac_affine_inv_0_0_GREEN_UP*tmp_moved_constant_126 + jac_affine_inv_0_1_GREEN_UP*tmp_moved_constant_127 + jac_affine_inv_0_2_GREEN_UP*tmp_moved_constant_128;
+       const real_t tmp_moved_constant_130 = jac_affine_inv_2_0_GREEN_UP*tmp_moved_constant_104 + jac_affine_inv_2_1_GREEN_UP*tmp_moved_constant_109 + jac_affine_inv_2_2_GREEN_UP*tmp_moved_constant_114;
+       const real_t tmp_moved_constant_131 = jac_affine_inv_2_0_GREEN_UP*tmp_moved_constant_103 + jac_affine_inv_2_1_GREEN_UP*tmp_moved_constant_108 + jac_affine_inv_2_2_GREEN_UP*tmp_moved_constant_113;
+       const real_t tmp_moved_constant_132 = jac_affine_inv_2_0_GREEN_UP*(-tmp_moved_constant_105 - tmp_moved_constant_121) + jac_affine_inv_2_1_GREEN_UP*(-tmp_moved_constant_110 - tmp_moved_constant_122) + jac_affine_inv_2_2_GREEN_UP*(-tmp_moved_constant_115 - tmp_moved_constant_123) - tmp_moved_constant_130 - tmp_moved_constant_131;
+       const real_t tmp_moved_constant_133 = jac_affine_inv_1_0_GREEN_UP*tmp_moved_constant_103 + jac_affine_inv_1_1_GREEN_UP*tmp_moved_constant_108 + jac_affine_inv_1_2_GREEN_UP*tmp_moved_constant_113;
+       const real_t tmp_moved_constant_134 = jac_affine_inv_1_0_GREEN_UP*(-tmp_moved_constant_102 - tmp_moved_constant_103 - tmp_moved_constant_126) + jac_affine_inv_1_1_GREEN_UP*(-tmp_moved_constant_107 - tmp_moved_constant_108 - tmp_moved_constant_127) + jac_affine_inv_1_2_GREEN_UP*(-tmp_moved_constant_112 - tmp_moved_constant_113 - tmp_moved_constant_128) - tmp_moved_constant_130 - tmp_moved_constant_133;
+       const real_t tmp_moved_constant_135 = jac_affine_inv_0_0_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*-8.0 - tmp_moved_constant_102 - tmp_moved_constant_104) + jac_affine_inv_0_1_GREEN_UP*(jac_affine_inv_0_1_GREEN_UP*-8.0 - tmp_moved_constant_107 - tmp_moved_constant_109) + jac_affine_inv_0_2_GREEN_UP*(jac_affine_inv_0_2_GREEN_UP*-8.0 - tmp_moved_constant_112 - tmp_moved_constant_114) - tmp_moved_constant_131 - tmp_moved_constant_133;
+       {
+          /* CellType.GREEN_UP */
+          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 diffusivity_times_delta_dof_0 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_1 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_2 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_3 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_4 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_5 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_6 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_7 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_8 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_9 = _mm256_loadu_pd(& _data_wxEdge[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 wy_dof_0 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_1 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_2 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_3 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_4 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_5 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_6 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_7 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_8 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_9 = _mm256_loadu_pd(& _data_wyEdge[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 wz_dof_0 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_1 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_2 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_3 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_4 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_5 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_6 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_7 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_8 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_9 = _mm256_loadu_pd(& _data_wzEdge[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);
+                __m256d q_acc_4_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_16 = _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]));
+                   const __m256d tmp_qloop_17 = _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_18 = _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]));
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_17,tmp_qloop_18);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_16),tmp_qloop_19);
+                   const __m256d tmp_qloop_21 = _mm256_mul_pd(tmp_qloop_17,_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_22 = _mm256_mul_pd(tmp_qloop_17,_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_23 = _mm256_mul_pd(tmp_qloop_18,_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_24 = _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_25 = _mm256_mul_pd(tmp_qloop_24,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_26 = _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_25);
+                   const __m256d tmp_qloop_27 = _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_28 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_29 = _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_28);
+                   const __m256d tmp_qloop_30 = _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_31 = _mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_32 = _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_31);
+                   const __m256d tmp_qloop_33 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_16);
+                   const __m256d tmp_qloop_34 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_18);
+                   const __m256d tmp_qloop_35 = _mm256_add_pd(tmp_qloop_21,tmp_qloop_22);
+                   const __m256d tmp_qloop_36 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_24,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_17);
+                   const __m256d tmp_qloop_37 = _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_23),tmp_qloop_25),tmp_qloop_28),tmp_qloop_31),tmp_qloop_35);
+                   const __m256d tmp_qloop_38 = _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(tmp_qloop_21,wx_dof_6),_mm256_mul_pd(tmp_qloop_22,wx_dof_5)),_mm256_mul_pd(tmp_qloop_23,wx_dof_4)),_mm256_mul_pd(tmp_qloop_26,wx_dof_1)),_mm256_mul_pd(tmp_qloop_29,wx_dof_2)),_mm256_mul_pd(tmp_qloop_32,wx_dof_3)),_mm256_mul_pd(tmp_qloop_33,wx_dof_7)),_mm256_mul_pd(tmp_qloop_34,wx_dof_8)),_mm256_mul_pd(tmp_qloop_36,wx_dof_9)),_mm256_mul_pd(tmp_qloop_37,wx_dof_0));
+                   const __m256d tmp_qloop_39 = _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(tmp_qloop_21,wy_dof_6),_mm256_mul_pd(tmp_qloop_22,wy_dof_5)),_mm256_mul_pd(tmp_qloop_23,wy_dof_4)),_mm256_mul_pd(tmp_qloop_26,wy_dof_1)),_mm256_mul_pd(tmp_qloop_29,wy_dof_2)),_mm256_mul_pd(tmp_qloop_32,wy_dof_3)),_mm256_mul_pd(tmp_qloop_33,wy_dof_7)),_mm256_mul_pd(tmp_qloop_34,wy_dof_8)),_mm256_mul_pd(tmp_qloop_36,wy_dof_9)),_mm256_mul_pd(tmp_qloop_37,wy_dof_0));
+                   const __m256d tmp_qloop_40 = _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(tmp_qloop_21,wz_dof_6),_mm256_mul_pd(tmp_qloop_22,wz_dof_5)),_mm256_mul_pd(tmp_qloop_23,wz_dof_4)),_mm256_mul_pd(tmp_qloop_26,wz_dof_1)),_mm256_mul_pd(tmp_qloop_29,wz_dof_2)),_mm256_mul_pd(tmp_qloop_32,wz_dof_3)),_mm256_mul_pd(tmp_qloop_33,wz_dof_7)),_mm256_mul_pd(tmp_qloop_34,wz_dof_8)),_mm256_mul_pd(tmp_qloop_36,wz_dof_9)),_mm256_mul_pd(tmp_qloop_37,wz_dof_0));
+                   const __m256d tmp_qloop_41 = _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(diffusivity_times_delta_dof_0,tmp_qloop_37),_mm256_mul_pd(diffusivity_times_delta_dof_1,tmp_qloop_26)),_mm256_mul_pd(diffusivity_times_delta_dof_2,tmp_qloop_29)),_mm256_mul_pd(diffusivity_times_delta_dof_3,tmp_qloop_32)),_mm256_mul_pd(diffusivity_times_delta_dof_4,tmp_qloop_23)),_mm256_mul_pd(diffusivity_times_delta_dof_5,tmp_qloop_22)),_mm256_mul_pd(diffusivity_times_delta_dof_6,tmp_qloop_21)),_mm256_mul_pd(diffusivity_times_delta_dof_7,tmp_qloop_33)),_mm256_mul_pd(diffusivity_times_delta_dof_8,tmp_qloop_34)),_mm256_mul_pd(diffusivity_times_delta_dof_9,tmp_qloop_36)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))))));
+                   const __m256d tmp_qloop_61 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_17);
+                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_61),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,tmp_qloop_61),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,tmp_qloop_61),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))));
+                   const __m256d tmp_qloop_63 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_18);
+                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_63),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,tmp_qloop_63),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,tmp_qloop_63),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))));
+                   const __m256d tmp_qloop_65 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_16);
+                   const __m256d tmp_qloop_66 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_65),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,tmp_qloop_65),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,tmp_qloop_65),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))));
+                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP));
+                   const __m256d tmp_qloop_68 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP));
+                   const __m256d tmp_qloop_69 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP));
+                   const __m256d tmp_qloop_70 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP));
+                   const __m256d tmp_qloop_71 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP));
+                   const __m256d tmp_qloop_72 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP));
+                   const __m256d tmp_qloop_73 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(tmp_qloop_67,tmp_qloop_68)),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(tmp_qloop_69,tmp_qloop_70))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(tmp_qloop_71,tmp_qloop_72))));
+                   const __m256d tmp_qloop_74 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP));
+                   const __m256d tmp_qloop_75 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP));
+                   const __m256d tmp_qloop_76 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP));
+                   const __m256d tmp_qloop_77 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP));
+                   const __m256d tmp_qloop_78 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP));
+                   const __m256d tmp_qloop_79 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP));
+                   const __m256d tmp_qloop_80 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(tmp_qloop_74,tmp_qloop_75)),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(tmp_qloop_76,tmp_qloop_77))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(tmp_qloop_78,tmp_qloop_79))));
+                   const __m256d tmp_qloop_81 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP));
+                   const __m256d tmp_qloop_82 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP));
+                   const __m256d tmp_qloop_83 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP));
+                   const __m256d tmp_qloop_84 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP));
+                   const __m256d tmp_qloop_85 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP));
+                   const __m256d tmp_qloop_86 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP));
+                   const __m256d tmp_qloop_87 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(tmp_qloop_81,tmp_qloop_82)),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(tmp_qloop_83,tmp_qloop_84))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(tmp_qloop_85,tmp_qloop_86))));
+                   const __m256d tmp_qloop_88 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_89 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_75,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_88,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_70,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_77,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_88,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_79,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_88,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))))));
+                   const __m256d tmp_qloop_90 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_16);
+                   const __m256d tmp_qloop_91 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_90,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_92 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_82,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_91,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_69,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_84,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_91,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_86,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_91,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))))));
+                   const __m256d tmp_qloop_93 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_90,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_94 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_81,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_93,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_76,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_83,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_93,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_78,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_85,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_93,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))))));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125));
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129));
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132));
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134));
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120));
+                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124));
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125));
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129));
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132));
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134));
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124));
+                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125));
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129));
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132));
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134));
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135));
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117));
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118));
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124));
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125));
+                   const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129));
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132));
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134));
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135));
+                   const __m256d q_tmp_4_0 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117));
+                   const __m256d q_tmp_4_1 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118));
+                   const __m256d q_tmp_4_2 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119));
+                   const __m256d q_tmp_4_3 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124));
+                   const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125));
+                   const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129));
+                   const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132));
+                   const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134));
+                   const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135));
+                   const __m256d q_tmp_5_0 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117));
+                   const __m256d q_tmp_5_1 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118));
+                   const __m256d q_tmp_5_2 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119));
+                   const __m256d q_tmp_5_3 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120));
+                   const __m256d q_tmp_5_4 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125));
+                   const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129));
+                   const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132));
+                   const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134));
+                   const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135));
+                   const __m256d q_tmp_6_0 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117));
+                   const __m256d q_tmp_6_1 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118));
+                   const __m256d q_tmp_6_2 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119));
+                   const __m256d q_tmp_6_3 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120));
+                   const __m256d q_tmp_6_4 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124));
+                   const __m256d q_tmp_6_5 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129));
+                   const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132));
+                   const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134));
+                   const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135));
+                   const __m256d q_tmp_7_0 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117));
+                   const __m256d q_tmp_7_1 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118));
+                   const __m256d q_tmp_7_2 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119));
+                   const __m256d q_tmp_7_3 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120));
+                   const __m256d q_tmp_7_4 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124));
+                   const __m256d q_tmp_7_5 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125));
+                   const __m256d q_tmp_7_6 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132));
+                   const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134));
+                   const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135));
+                   const __m256d q_tmp_8_0 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117));
+                   const __m256d q_tmp_8_1 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118));
+                   const __m256d q_tmp_8_2 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119));
+                   const __m256d q_tmp_8_3 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120));
+                   const __m256d q_tmp_8_4 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124));
+                   const __m256d q_tmp_8_5 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125));
+                   const __m256d q_tmp_8_6 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129));
+                   const __m256d q_tmp_8_7 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134));
+                   const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135));
+                   const __m256d q_tmp_9_0 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117));
+                   const __m256d q_tmp_9_1 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118));
+                   const __m256d q_tmp_9_2 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119));
+                   const __m256d q_tmp_9_3 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120,tmp_moved_constant_120));
+                   const __m256d q_tmp_9_4 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124,tmp_moved_constant_124));
+                   const __m256d q_tmp_9_5 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125,tmp_moved_constant_125));
+                   const __m256d q_tmp_9_6 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129,tmp_moved_constant_129));
+                   const __m256d q_tmp_9_7 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132,tmp_moved_constant_132));
+                   const __m256d q_tmp_9_8 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134,tmp_moved_constant_134));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135,tmp_moved_constant_135));
+                   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);
+                   q_acc_4_0 = _mm256_add_pd(q_acc_4_0,q_tmp_4_0);
+                   q_acc_4_1 = _mm256_add_pd(q_acc_4_1,q_tmp_4_1);
+                   q_acc_4_2 = _mm256_add_pd(q_acc_4_2,q_tmp_4_2);
+                   q_acc_4_3 = _mm256_add_pd(q_acc_4_3,q_tmp_4_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5);
+                   q_acc_4_6 = _mm256_add_pd(q_acc_4_6,q_tmp_4_6);
+                   q_acc_4_7 = _mm256_add_pd(q_acc_4_7,q_tmp_4_7);
+                   q_acc_4_8 = _mm256_add_pd(q_acc_4_8,q_tmp_4_8);
+                   q_acc_4_9 = _mm256_add_pd(q_acc_4_9,q_tmp_4_9);
+                   q_acc_5_0 = _mm256_add_pd(q_acc_5_0,q_tmp_5_0);
+                   q_acc_5_1 = _mm256_add_pd(q_acc_5_1,q_tmp_5_1);
+                   q_acc_5_2 = _mm256_add_pd(q_acc_5_2,q_tmp_5_2);
+                   q_acc_5_3 = _mm256_add_pd(q_acc_5_3,q_tmp_5_3);
+                   q_acc_5_4 = _mm256_add_pd(q_acc_5_4,q_tmp_5_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_5_6 = _mm256_add_pd(q_acc_5_6,q_tmp_5_6);
+                   q_acc_5_7 = _mm256_add_pd(q_acc_5_7,q_tmp_5_7);
+                   q_acc_5_8 = _mm256_add_pd(q_acc_5_8,q_tmp_5_8);
+                   q_acc_5_9 = _mm256_add_pd(q_acc_5_9,q_tmp_5_9);
+                   q_acc_6_0 = _mm256_add_pd(q_acc_6_0,q_tmp_6_0);
+                   q_acc_6_1 = _mm256_add_pd(q_acc_6_1,q_tmp_6_1);
+                   q_acc_6_2 = _mm256_add_pd(q_acc_6_2,q_tmp_6_2);
+                   q_acc_6_3 = _mm256_add_pd(q_acc_6_3,q_tmp_6_3);
+                   q_acc_6_4 = _mm256_add_pd(q_acc_6_4,q_tmp_6_4);
+                   q_acc_6_5 = _mm256_add_pd(q_acc_6_5,q_tmp_6_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_6_7 = _mm256_add_pd(q_acc_6_7,q_tmp_6_7);
+                   q_acc_6_8 = _mm256_add_pd(q_acc_6_8,q_tmp_6_8);
+                   q_acc_6_9 = _mm256_add_pd(q_acc_6_9,q_tmp_6_9);
+                   q_acc_7_0 = _mm256_add_pd(q_acc_7_0,q_tmp_7_0);
+                   q_acc_7_1 = _mm256_add_pd(q_acc_7_1,q_tmp_7_1);
+                   q_acc_7_2 = _mm256_add_pd(q_acc_7_2,q_tmp_7_2);
+                   q_acc_7_3 = _mm256_add_pd(q_acc_7_3,q_tmp_7_3);
+                   q_acc_7_4 = _mm256_add_pd(q_acc_7_4,q_tmp_7_4);
+                   q_acc_7_5 = _mm256_add_pd(q_acc_7_5,q_tmp_7_5);
+                   q_acc_7_6 = _mm256_add_pd(q_acc_7_6,q_tmp_7_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_7_8 = _mm256_add_pd(q_acc_7_8,q_tmp_7_8);
+                   q_acc_7_9 = _mm256_add_pd(q_acc_7_9,q_tmp_7_9);
+                   q_acc_8_0 = _mm256_add_pd(q_acc_8_0,q_tmp_8_0);
+                   q_acc_8_1 = _mm256_add_pd(q_acc_8_1,q_tmp_8_1);
+                   q_acc_8_2 = _mm256_add_pd(q_acc_8_2,q_tmp_8_2);
+                   q_acc_8_3 = _mm256_add_pd(q_acc_8_3,q_tmp_8_3);
+                   q_acc_8_4 = _mm256_add_pd(q_acc_8_4,q_tmp_8_4);
+                   q_acc_8_5 = _mm256_add_pd(q_acc_8_5,q_tmp_8_5);
+                   q_acc_8_6 = _mm256_add_pd(q_acc_8_6,q_tmp_8_6);
+                   q_acc_8_7 = _mm256_add_pd(q_acc_8_7,q_tmp_8_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_8_9 = _mm256_add_pd(q_acc_8_9,q_tmp_8_9);
+                   q_acc_9_0 = _mm256_add_pd(q_acc_9_0,q_tmp_9_0);
+                   q_acc_9_1 = _mm256_add_pd(q_acc_9_1,q_tmp_9_1);
+                   q_acc_9_2 = _mm256_add_pd(q_acc_9_2,q_tmp_9_2);
+                   q_acc_9_3 = _mm256_add_pd(q_acc_9_3,q_tmp_9_3);
+                   q_acc_9_4 = _mm256_add_pd(q_acc_9_4,q_tmp_9_4);
+                   q_acc_9_5 = _mm256_add_pd(q_acc_9_5,q_tmp_9_5);
+                   q_acc_9_6 = _mm256_add_pd(q_acc_9_6,q_tmp_9_6);
+                   q_acc_9_7 = _mm256_add_pd(q_acc_9_7,q_tmp_9_7);
+                   q_acc_9_8 = _mm256_add_pd(q_acc_9_8,q_tmp_9_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_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));
+                const __m256d elMatVec_4 = _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_4_0,src_dof_0),_mm256_mul_pd(q_acc_4_1,src_dof_1)),_mm256_mul_pd(q_acc_4_2,src_dof_2)),_mm256_mul_pd(q_acc_4_3,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)),_mm256_mul_pd(q_acc_4_6,src_dof_6)),_mm256_mul_pd(q_acc_4_7,src_dof_7)),_mm256_mul_pd(q_acc_4_8,src_dof_8)),_mm256_mul_pd(q_acc_4_9,src_dof_9));
+                const __m256d elMatVec_5 = _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_5_0,src_dof_0),_mm256_mul_pd(q_acc_5_1,src_dof_1)),_mm256_mul_pd(q_acc_5_2,src_dof_2)),_mm256_mul_pd(q_acc_5_3,src_dof_3)),_mm256_mul_pd(q_acc_5_4,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)),_mm256_mul_pd(q_acc_5_6,src_dof_6)),_mm256_mul_pd(q_acc_5_7,src_dof_7)),_mm256_mul_pd(q_acc_5_8,src_dof_8)),_mm256_mul_pd(q_acc_5_9,src_dof_9));
+                const __m256d elMatVec_6 = _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_6_0,src_dof_0),_mm256_mul_pd(q_acc_6_1,src_dof_1)),_mm256_mul_pd(q_acc_6_2,src_dof_2)),_mm256_mul_pd(q_acc_6_3,src_dof_3)),_mm256_mul_pd(q_acc_6_4,src_dof_4)),_mm256_mul_pd(q_acc_6_5,src_dof_5)),_mm256_mul_pd(q_acc_6_6,src_dof_6)),_mm256_mul_pd(q_acc_6_7,src_dof_7)),_mm256_mul_pd(q_acc_6_8,src_dof_8)),_mm256_mul_pd(q_acc_6_9,src_dof_9));
+                const __m256d elMatVec_7 = _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_7_0,src_dof_0),_mm256_mul_pd(q_acc_7_1,src_dof_1)),_mm256_mul_pd(q_acc_7_2,src_dof_2)),_mm256_mul_pd(q_acc_7_3,src_dof_3)),_mm256_mul_pd(q_acc_7_4,src_dof_4)),_mm256_mul_pd(q_acc_7_5,src_dof_5)),_mm256_mul_pd(q_acc_7_6,src_dof_6)),_mm256_mul_pd(q_acc_7_7,src_dof_7)),_mm256_mul_pd(q_acc_7_8,src_dof_8)),_mm256_mul_pd(q_acc_7_9,src_dof_9));
+                const __m256d elMatVec_8 = _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_8_0,src_dof_0),_mm256_mul_pd(q_acc_8_1,src_dof_1)),_mm256_mul_pd(q_acc_8_2,src_dof_2)),_mm256_mul_pd(q_acc_8_3,src_dof_3)),_mm256_mul_pd(q_acc_8_4,src_dof_4)),_mm256_mul_pd(q_acc_8_5,src_dof_5)),_mm256_mul_pd(q_acc_8_6,src_dof_6)),_mm256_mul_pd(q_acc_8_7,src_dof_7)),_mm256_mul_pd(q_acc_8_8,src_dof_8)),_mm256_mul_pd(q_acc_8_9,src_dof_9));
+                const __m256d elMatVec_9 = _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_9_0,src_dof_0),_mm256_mul_pd(q_acc_9_1,src_dof_1)),_mm256_mul_pd(q_acc_9_2,src_dof_2)),_mm256_mul_pd(q_acc_9_3,src_dof_3)),_mm256_mul_pd(q_acc_9_4,src_dof_4)),_mm256_mul_pd(q_acc_9_5,src_dof_5)),_mm256_mul_pd(q_acc_9_6,src_dof_6)),_mm256_mul_pd(q_acc_9_7,src_dof_7)),_mm256_mul_pd(q_acc_9_8,src_dof_8)),_mm256_mul_pd(q_acc_9_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_6,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_7,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_8,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_9,_mm256_loadu_pd(& _data_dstEdge[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))])));
+             }
+             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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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;
+                real_t q_acc_4_0 = 0.0;
+                real_t q_acc_4_1 = 0.0;
+                real_t q_acc_4_2 = 0.0;
+                real_t q_acc_4_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_4_5 = 0.0;
+                real_t q_acc_4_6 = 0.0;
+                real_t q_acc_4_7 = 0.0;
+                real_t q_acc_4_8 = 0.0;
+                real_t q_acc_4_9 = 0.0;
+                real_t q_acc_5_0 = 0.0;
+                real_t q_acc_5_1 = 0.0;
+                real_t q_acc_5_2 = 0.0;
+                real_t q_acc_5_3 = 0.0;
+                real_t q_acc_5_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_5_6 = 0.0;
+                real_t q_acc_5_7 = 0.0;
+                real_t q_acc_5_8 = 0.0;
+                real_t q_acc_5_9 = 0.0;
+                real_t q_acc_6_0 = 0.0;
+                real_t q_acc_6_1 = 0.0;
+                real_t q_acc_6_2 = 0.0;
+                real_t q_acc_6_3 = 0.0;
+                real_t q_acc_6_4 = 0.0;
+                real_t q_acc_6_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_6_7 = 0.0;
+                real_t q_acc_6_8 = 0.0;
+                real_t q_acc_6_9 = 0.0;
+                real_t q_acc_7_0 = 0.0;
+                real_t q_acc_7_1 = 0.0;
+                real_t q_acc_7_2 = 0.0;
+                real_t q_acc_7_3 = 0.0;
+                real_t q_acc_7_4 = 0.0;
+                real_t q_acc_7_5 = 0.0;
+                real_t q_acc_7_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_7_8 = 0.0;
+                real_t q_acc_7_9 = 0.0;
+                real_t q_acc_8_0 = 0.0;
+                real_t q_acc_8_1 = 0.0;
+                real_t q_acc_8_2 = 0.0;
+                real_t q_acc_8_3 = 0.0;
+                real_t q_acc_8_4 = 0.0;
+                real_t q_acc_8_5 = 0.0;
+                real_t q_acc_8_6 = 0.0;
+                real_t q_acc_8_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_8_9 = 0.0;
+                real_t q_acc_9_0 = 0.0;
+                real_t q_acc_9_1 = 0.0;
+                real_t q_acc_9_2 = 0.0;
+                real_t q_acc_9_3 = 0.0;
+                real_t q_acc_9_4 = 0.0;
+                real_t q_acc_9_5 = 0.0;
+                real_t q_acc_9_6 = 0.0;
+                real_t q_acc_9_7 = 0.0;
+                real_t q_acc_9_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_16 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_17 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_18 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18;
+                   const real_t tmp_qloop_20 = tmp_qloop_16 + tmp_qloop_19 - 3.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_17*_data_q_p_1[q];
+                   const real_t tmp_qloop_22 = tmp_qloop_17*_data_q_p_2[q];
+                   const real_t tmp_qloop_23 = tmp_qloop_18*_data_q_p_2[q];
+                   const real_t tmp_qloop_24 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_25 = tmp_qloop_24*2.0;
+                   const real_t tmp_qloop_26 = tmp_qloop_25 - _data_q_p_0[q];
+                   const real_t tmp_qloop_27 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_28 = tmp_qloop_27*2.0;
+                   const real_t tmp_qloop_29 = tmp_qloop_28 - _data_q_p_1[q];
+                   const real_t tmp_qloop_30 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_31 = tmp_qloop_30*2.0;
+                   const real_t tmp_qloop_32 = tmp_qloop_31 - _data_q_p_2[q];
+                   const real_t tmp_qloop_33 = tmp_qloop_16 - tmp_qloop_22 - tmp_qloop_23 + tmp_qloop_30*-4.0;
+                   const real_t tmp_qloop_34 = tmp_qloop_18 - tmp_qloop_21 - tmp_qloop_23 + tmp_qloop_27*-4.0;
+                   const real_t tmp_qloop_35 = tmp_qloop_21 + tmp_qloop_22;
+                   const real_t tmp_qloop_36 = tmp_qloop_17 + tmp_qloop_24*-4.0 - tmp_qloop_35;
+                   const real_t tmp_qloop_37 = tmp_qloop_23 + tmp_qloop_25 + tmp_qloop_28 + tmp_qloop_31 + tmp_qloop_35 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                   const real_t tmp_qloop_38 = tmp_qloop_21*wx_dof_6 + tmp_qloop_22*wx_dof_5 + tmp_qloop_23*wx_dof_4 + tmp_qloop_26*wx_dof_1 + tmp_qloop_29*wx_dof_2 + tmp_qloop_32*wx_dof_3 + tmp_qloop_33*wx_dof_7 + tmp_qloop_34*wx_dof_8 + tmp_qloop_36*wx_dof_9 + tmp_qloop_37*wx_dof_0;
+                   const real_t tmp_qloop_39 = tmp_qloop_21*wy_dof_6 + tmp_qloop_22*wy_dof_5 + tmp_qloop_23*wy_dof_4 + tmp_qloop_26*wy_dof_1 + tmp_qloop_29*wy_dof_2 + tmp_qloop_32*wy_dof_3 + tmp_qloop_33*wy_dof_7 + tmp_qloop_34*wy_dof_8 + tmp_qloop_36*wy_dof_9 + tmp_qloop_37*wy_dof_0;
+                   const real_t tmp_qloop_40 = tmp_qloop_21*wz_dof_6 + tmp_qloop_22*wz_dof_5 + tmp_qloop_23*wz_dof_4 + tmp_qloop_26*wz_dof_1 + tmp_qloop_29*wz_dof_2 + tmp_qloop_32*wz_dof_3 + tmp_qloop_33*wz_dof_7 + tmp_qloop_34*wz_dof_8 + tmp_qloop_36*wz_dof_9 + tmp_qloop_37*wz_dof_0;
+                   const real_t tmp_qloop_41 = abs_det_jac_affine_GREEN_UP*(diffusivity_times_delta_dof_0*tmp_qloop_37 + diffusivity_times_delta_dof_1*tmp_qloop_26 + diffusivity_times_delta_dof_2*tmp_qloop_29 + diffusivity_times_delta_dof_3*tmp_qloop_32 + diffusivity_times_delta_dof_4*tmp_qloop_23 + diffusivity_times_delta_dof_5*tmp_qloop_22 + diffusivity_times_delta_dof_6*tmp_qloop_21 + diffusivity_times_delta_dof_7*tmp_qloop_33 + diffusivity_times_delta_dof_8*tmp_qloop_34 + diffusivity_times_delta_dof_9*tmp_qloop_36)*_data_q_w[q];
+                   const real_t tmp_qloop_42 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_20 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_20 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_20) + tmp_qloop_39*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_20 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_20 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_20) + tmp_qloop_40*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_20 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_20 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_20));
+                   const real_t tmp_qloop_61 = tmp_qloop_17 - 1.0;
+                   const real_t tmp_qloop_62 = tmp_qloop_41*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_38*tmp_qloop_61 + jac_affine_inv_0_1_GREEN_UP*tmp_qloop_39*tmp_qloop_61 + jac_affine_inv_0_2_GREEN_UP*tmp_qloop_40*tmp_qloop_61);
+                   const real_t tmp_qloop_63 = tmp_qloop_18 - 1.0;
+                   const real_t tmp_qloop_64 = tmp_qloop_41*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_38*tmp_qloop_63 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_39*tmp_qloop_63 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_40*tmp_qloop_63);
+                   const real_t tmp_qloop_65 = tmp_qloop_16 - 1.0;
+                   const real_t tmp_qloop_66 = tmp_qloop_41*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_38*tmp_qloop_65 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_39*tmp_qloop_65 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_40*tmp_qloop_65);
+                   const real_t tmp_qloop_67 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_18;
+                   const real_t tmp_qloop_68 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_16;
+                   const real_t tmp_qloop_69 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_18;
+                   const real_t tmp_qloop_70 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_16;
+                   const real_t tmp_qloop_71 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_18;
+                   const real_t tmp_qloop_72 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_16;
+                   const real_t tmp_qloop_73 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_67 + tmp_qloop_68) + tmp_qloop_39*(tmp_qloop_69 + tmp_qloop_70) + tmp_qloop_40*(tmp_qloop_71 + tmp_qloop_72));
+                   const real_t tmp_qloop_74 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_17;
+                   const real_t tmp_qloop_75 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_16;
+                   const real_t tmp_qloop_76 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_17;
+                   const real_t tmp_qloop_77 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_16;
+                   const real_t tmp_qloop_78 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_17;
+                   const real_t tmp_qloop_79 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_16;
+                   const real_t tmp_qloop_80 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_74 + tmp_qloop_75) + tmp_qloop_39*(tmp_qloop_76 + tmp_qloop_77) + tmp_qloop_40*(tmp_qloop_78 + tmp_qloop_79));
+                   const real_t tmp_qloop_81 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_17;
+                   const real_t tmp_qloop_82 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_18;
+                   const real_t tmp_qloop_83 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_17;
+                   const real_t tmp_qloop_84 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_18;
+                   const real_t tmp_qloop_85 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_17;
+                   const real_t tmp_qloop_86 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_18;
+                   const real_t tmp_qloop_87 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_81 + tmp_qloop_82) + tmp_qloop_39*(tmp_qloop_83 + tmp_qloop_84) + tmp_qloop_40*(tmp_qloop_85 + tmp_qloop_86));
+                   const real_t tmp_qloop_88 = -tmp_qloop_19 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_89 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_88 - tmp_qloop_68 - tmp_qloop_75) + tmp_qloop_39*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_88 - tmp_qloop_70 - tmp_qloop_77) + tmp_qloop_40*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_88 - tmp_qloop_72 - tmp_qloop_79));
+                   const real_t tmp_qloop_90 = tmp_qloop_16 - 4.0;
+                   const real_t tmp_qloop_91 = -tmp_qloop_17 - tmp_qloop_90 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_92 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_91 - tmp_qloop_67 - tmp_qloop_82) + tmp_qloop_39*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_91 - tmp_qloop_69 - tmp_qloop_84) + tmp_qloop_40*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_91 - tmp_qloop_71 - tmp_qloop_86));
+                   const real_t tmp_qloop_93 = -tmp_qloop_18 - tmp_qloop_90 - 8.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_94 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_93 - tmp_qloop_74 - tmp_qloop_81) + tmp_qloop_39*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_93 - tmp_qloop_76 - tmp_qloop_83) + tmp_qloop_40*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_93 - tmp_qloop_78 - tmp_qloop_85));
+                   const real_t q_tmp_0_0 = tmp_moved_constant_117*tmp_qloop_42;
+                   const real_t q_tmp_0_1 = tmp_moved_constant_118*tmp_qloop_42;
+                   const real_t q_tmp_0_2 = tmp_moved_constant_119*tmp_qloop_42;
+                   const real_t q_tmp_0_3 = tmp_moved_constant_120*tmp_qloop_42;
+                   const real_t q_tmp_0_4 = tmp_moved_constant_124*tmp_qloop_42;
+                   const real_t q_tmp_0_5 = tmp_moved_constant_125*tmp_qloop_42;
+                   const real_t q_tmp_0_6 = tmp_moved_constant_129*tmp_qloop_42;
+                   const real_t q_tmp_0_7 = tmp_moved_constant_132*tmp_qloop_42;
+                   const real_t q_tmp_0_8 = tmp_moved_constant_134*tmp_qloop_42;
+                   const real_t q_tmp_0_9 = tmp_moved_constant_135*tmp_qloop_42;
+                   const real_t q_tmp_1_0 = tmp_moved_constant_117*tmp_qloop_62;
+                   const real_t q_tmp_1_1 = tmp_moved_constant_118*tmp_qloop_62;
+                   const real_t q_tmp_1_2 = tmp_moved_constant_119*tmp_qloop_62;
+                   const real_t q_tmp_1_3 = tmp_moved_constant_120*tmp_qloop_62;
+                   const real_t q_tmp_1_4 = tmp_moved_constant_124*tmp_qloop_62;
+                   const real_t q_tmp_1_5 = tmp_moved_constant_125*tmp_qloop_62;
+                   const real_t q_tmp_1_6 = tmp_moved_constant_129*tmp_qloop_62;
+                   const real_t q_tmp_1_7 = tmp_moved_constant_132*tmp_qloop_62;
+                   const real_t q_tmp_1_8 = tmp_moved_constant_134*tmp_qloop_62;
+                   const real_t q_tmp_1_9 = tmp_moved_constant_135*tmp_qloop_62;
+                   const real_t q_tmp_2_0 = tmp_moved_constant_117*tmp_qloop_64;
+                   const real_t q_tmp_2_1 = tmp_moved_constant_118*tmp_qloop_64;
+                   const real_t q_tmp_2_2 = tmp_moved_constant_119*tmp_qloop_64;
+                   const real_t q_tmp_2_3 = tmp_moved_constant_120*tmp_qloop_64;
+                   const real_t q_tmp_2_4 = tmp_moved_constant_124*tmp_qloop_64;
+                   const real_t q_tmp_2_5 = tmp_moved_constant_125*tmp_qloop_64;
+                   const real_t q_tmp_2_6 = tmp_moved_constant_129*tmp_qloop_64;
+                   const real_t q_tmp_2_7 = tmp_moved_constant_132*tmp_qloop_64;
+                   const real_t q_tmp_2_8 = tmp_moved_constant_134*tmp_qloop_64;
+                   const real_t q_tmp_2_9 = tmp_moved_constant_135*tmp_qloop_64;
+                   const real_t q_tmp_3_0 = tmp_moved_constant_117*tmp_qloop_66;
+                   const real_t q_tmp_3_1 = tmp_moved_constant_118*tmp_qloop_66;
+                   const real_t q_tmp_3_2 = tmp_moved_constant_119*tmp_qloop_66;
+                   const real_t q_tmp_3_3 = tmp_moved_constant_120*tmp_qloop_66;
+                   const real_t q_tmp_3_4 = tmp_moved_constant_124*tmp_qloop_66;
+                   const real_t q_tmp_3_5 = tmp_moved_constant_125*tmp_qloop_66;
+                   const real_t q_tmp_3_6 = tmp_moved_constant_129*tmp_qloop_66;
+                   const real_t q_tmp_3_7 = tmp_moved_constant_132*tmp_qloop_66;
+                   const real_t q_tmp_3_8 = tmp_moved_constant_134*tmp_qloop_66;
+                   const real_t q_tmp_3_9 = tmp_moved_constant_135*tmp_qloop_66;
+                   const real_t q_tmp_4_0 = tmp_moved_constant_117*tmp_qloop_73;
+                   const real_t q_tmp_4_1 = tmp_moved_constant_118*tmp_qloop_73;
+                   const real_t q_tmp_4_2 = tmp_moved_constant_119*tmp_qloop_73;
+                   const real_t q_tmp_4_3 = tmp_moved_constant_120*tmp_qloop_73;
+                   const real_t q_tmp_4_4 = tmp_moved_constant_124*tmp_qloop_73;
+                   const real_t q_tmp_4_5 = tmp_moved_constant_125*tmp_qloop_73;
+                   const real_t q_tmp_4_6 = tmp_moved_constant_129*tmp_qloop_73;
+                   const real_t q_tmp_4_7 = tmp_moved_constant_132*tmp_qloop_73;
+                   const real_t q_tmp_4_8 = tmp_moved_constant_134*tmp_qloop_73;
+                   const real_t q_tmp_4_9 = tmp_moved_constant_135*tmp_qloop_73;
+                   const real_t q_tmp_5_0 = tmp_moved_constant_117*tmp_qloop_80;
+                   const real_t q_tmp_5_1 = tmp_moved_constant_118*tmp_qloop_80;
+                   const real_t q_tmp_5_2 = tmp_moved_constant_119*tmp_qloop_80;
+                   const real_t q_tmp_5_3 = tmp_moved_constant_120*tmp_qloop_80;
+                   const real_t q_tmp_5_4 = tmp_moved_constant_124*tmp_qloop_80;
+                   const real_t q_tmp_5_5 = tmp_moved_constant_125*tmp_qloop_80;
+                   const real_t q_tmp_5_6 = tmp_moved_constant_129*tmp_qloop_80;
+                   const real_t q_tmp_5_7 = tmp_moved_constant_132*tmp_qloop_80;
+                   const real_t q_tmp_5_8 = tmp_moved_constant_134*tmp_qloop_80;
+                   const real_t q_tmp_5_9 = tmp_moved_constant_135*tmp_qloop_80;
+                   const real_t q_tmp_6_0 = tmp_moved_constant_117*tmp_qloop_87;
+                   const real_t q_tmp_6_1 = tmp_moved_constant_118*tmp_qloop_87;
+                   const real_t q_tmp_6_2 = tmp_moved_constant_119*tmp_qloop_87;
+                   const real_t q_tmp_6_3 = tmp_moved_constant_120*tmp_qloop_87;
+                   const real_t q_tmp_6_4 = tmp_moved_constant_124*tmp_qloop_87;
+                   const real_t q_tmp_6_5 = tmp_moved_constant_125*tmp_qloop_87;
+                   const real_t q_tmp_6_6 = tmp_moved_constant_129*tmp_qloop_87;
+                   const real_t q_tmp_6_7 = tmp_moved_constant_132*tmp_qloop_87;
+                   const real_t q_tmp_6_8 = tmp_moved_constant_134*tmp_qloop_87;
+                   const real_t q_tmp_6_9 = tmp_moved_constant_135*tmp_qloop_87;
+                   const real_t q_tmp_7_0 = tmp_moved_constant_117*tmp_qloop_89;
+                   const real_t q_tmp_7_1 = tmp_moved_constant_118*tmp_qloop_89;
+                   const real_t q_tmp_7_2 = tmp_moved_constant_119*tmp_qloop_89;
+                   const real_t q_tmp_7_3 = tmp_moved_constant_120*tmp_qloop_89;
+                   const real_t q_tmp_7_4 = tmp_moved_constant_124*tmp_qloop_89;
+                   const real_t q_tmp_7_5 = tmp_moved_constant_125*tmp_qloop_89;
+                   const real_t q_tmp_7_6 = tmp_moved_constant_129*tmp_qloop_89;
+                   const real_t q_tmp_7_7 = tmp_moved_constant_132*tmp_qloop_89;
+                   const real_t q_tmp_7_8 = tmp_moved_constant_134*tmp_qloop_89;
+                   const real_t q_tmp_7_9 = tmp_moved_constant_135*tmp_qloop_89;
+                   const real_t q_tmp_8_0 = tmp_moved_constant_117*tmp_qloop_92;
+                   const real_t q_tmp_8_1 = tmp_moved_constant_118*tmp_qloop_92;
+                   const real_t q_tmp_8_2 = tmp_moved_constant_119*tmp_qloop_92;
+                   const real_t q_tmp_8_3 = tmp_moved_constant_120*tmp_qloop_92;
+                   const real_t q_tmp_8_4 = tmp_moved_constant_124*tmp_qloop_92;
+                   const real_t q_tmp_8_5 = tmp_moved_constant_125*tmp_qloop_92;
+                   const real_t q_tmp_8_6 = tmp_moved_constant_129*tmp_qloop_92;
+                   const real_t q_tmp_8_7 = tmp_moved_constant_132*tmp_qloop_92;
+                   const real_t q_tmp_8_8 = tmp_moved_constant_134*tmp_qloop_92;
+                   const real_t q_tmp_8_9 = tmp_moved_constant_135*tmp_qloop_92;
+                   const real_t q_tmp_9_0 = tmp_moved_constant_117*tmp_qloop_94;
+                   const real_t q_tmp_9_1 = tmp_moved_constant_118*tmp_qloop_94;
+                   const real_t q_tmp_9_2 = tmp_moved_constant_119*tmp_qloop_94;
+                   const real_t q_tmp_9_3 = tmp_moved_constant_120*tmp_qloop_94;
+                   const real_t q_tmp_9_4 = tmp_moved_constant_124*tmp_qloop_94;
+                   const real_t q_tmp_9_5 = tmp_moved_constant_125*tmp_qloop_94;
+                   const real_t q_tmp_9_6 = tmp_moved_constant_129*tmp_qloop_94;
+                   const real_t q_tmp_9_7 = tmp_moved_constant_132*tmp_qloop_94;
+                   const real_t q_tmp_9_8 = tmp_moved_constant_134*tmp_qloop_94;
+                   const real_t q_tmp_9_9 = tmp_moved_constant_135*tmp_qloop_94;
+                   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;
+                   q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                   q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                   q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                   q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                   q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                   q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                   q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                   q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                   q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                   q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                   q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                   q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                   q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                   q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                   q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                   q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                   q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                   q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                   q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                   q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                   q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                   q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                   q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                   q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                   q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                   q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                   q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                   q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                   q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                   q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                   q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                   q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                   q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                   q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                   q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                   q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                   q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                   q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                   q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                   q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                   q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                   q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                   q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                   q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                   q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                   q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                   q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                   q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                   q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+                const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+                const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+                const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+                const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+                const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+                const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+                _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_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 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN;
+       const real_t tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN);
+       const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN);
+       const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN);
+       const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN);
+       const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN);
+       const real_t tmp_moved_constant_136 = jac_affine_inv_2_0_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_137 = jac_affine_inv_0_0_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_138 = jac_affine_inv_1_0_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_139 = tmp_moved_constant_137 + tmp_moved_constant_138;
+       const real_t tmp_moved_constant_140 = tmp_moved_constant_136 + tmp_moved_constant_139;
+       const real_t tmp_moved_constant_141 = jac_affine_inv_2_1_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_142 = jac_affine_inv_0_1_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_143 = jac_affine_inv_1_1_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_144 = tmp_moved_constant_142 + tmp_moved_constant_143;
+       const real_t tmp_moved_constant_145 = tmp_moved_constant_141 + tmp_moved_constant_144;
+       const real_t tmp_moved_constant_146 = jac_affine_inv_2_2_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_147 = jac_affine_inv_0_2_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_148 = jac_affine_inv_1_2_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_149 = tmp_moved_constant_147 + tmp_moved_constant_148;
+       const real_t tmp_moved_constant_150 = tmp_moved_constant_146 + tmp_moved_constant_149;
+       const real_t tmp_moved_constant_151 = jac_affine_inv_0_0_GREEN_DOWN*tmp_moved_constant_140 + jac_affine_inv_0_1_GREEN_DOWN*tmp_moved_constant_145 + jac_affine_inv_0_2_GREEN_DOWN*tmp_moved_constant_150 + jac_affine_inv_1_0_GREEN_DOWN*tmp_moved_constant_140 + jac_affine_inv_1_1_GREEN_DOWN*tmp_moved_constant_145 + jac_affine_inv_1_2_GREEN_DOWN*tmp_moved_constant_150 + jac_affine_inv_2_0_GREEN_DOWN*tmp_moved_constant_140 + jac_affine_inv_2_1_GREEN_DOWN*tmp_moved_constant_145 + jac_affine_inv_2_2_GREEN_DOWN*tmp_moved_constant_150;
+       const real_t tmp_moved_constant_152 = (jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN)*4.0 + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN)*4.0 + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)*4.0;
+       const real_t tmp_moved_constant_153 = (jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN)*4.0 + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN)*4.0 + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)*4.0;
+       const real_t tmp_moved_constant_154 = (jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN)*4.0 + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN)*4.0 + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)*4.0;
+       const real_t tmp_moved_constant_155 = jac_affine_inv_2_0_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_156 = jac_affine_inv_2_1_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_157 = jac_affine_inv_2_2_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_158 = jac_affine_inv_1_0_GREEN_DOWN*tmp_moved_constant_155 + jac_affine_inv_1_1_GREEN_DOWN*tmp_moved_constant_156 + jac_affine_inv_1_2_GREEN_DOWN*tmp_moved_constant_157;
+       const real_t tmp_moved_constant_159 = jac_affine_inv_0_0_GREEN_DOWN*tmp_moved_constant_155 + jac_affine_inv_0_1_GREEN_DOWN*tmp_moved_constant_156 + jac_affine_inv_0_2_GREEN_DOWN*tmp_moved_constant_157;
+       const real_t tmp_moved_constant_160 = jac_affine_inv_1_0_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_161 = jac_affine_inv_1_1_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_162 = jac_affine_inv_1_2_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_163 = jac_affine_inv_0_0_GREEN_DOWN*tmp_moved_constant_160 + jac_affine_inv_0_1_GREEN_DOWN*tmp_moved_constant_161 + jac_affine_inv_0_2_GREEN_DOWN*tmp_moved_constant_162;
+       const real_t tmp_moved_constant_164 = jac_affine_inv_2_0_GREEN_DOWN*tmp_moved_constant_138 + jac_affine_inv_2_1_GREEN_DOWN*tmp_moved_constant_143 + jac_affine_inv_2_2_GREEN_DOWN*tmp_moved_constant_148;
+       const real_t tmp_moved_constant_165 = jac_affine_inv_2_0_GREEN_DOWN*tmp_moved_constant_137 + jac_affine_inv_2_1_GREEN_DOWN*tmp_moved_constant_142 + jac_affine_inv_2_2_GREEN_DOWN*tmp_moved_constant_147;
+       const real_t tmp_moved_constant_166 = jac_affine_inv_2_0_GREEN_DOWN*(-tmp_moved_constant_139 - tmp_moved_constant_155) + jac_affine_inv_2_1_GREEN_DOWN*(-tmp_moved_constant_144 - tmp_moved_constant_156) + jac_affine_inv_2_2_GREEN_DOWN*(-tmp_moved_constant_149 - tmp_moved_constant_157) - tmp_moved_constant_164 - tmp_moved_constant_165;
+       const real_t tmp_moved_constant_167 = jac_affine_inv_1_0_GREEN_DOWN*tmp_moved_constant_137 + jac_affine_inv_1_1_GREEN_DOWN*tmp_moved_constant_142 + jac_affine_inv_1_2_GREEN_DOWN*tmp_moved_constant_147;
+       const real_t tmp_moved_constant_168 = jac_affine_inv_1_0_GREEN_DOWN*(-tmp_moved_constant_136 - tmp_moved_constant_137 - tmp_moved_constant_160) + jac_affine_inv_1_1_GREEN_DOWN*(-tmp_moved_constant_141 - tmp_moved_constant_142 - tmp_moved_constant_161) + jac_affine_inv_1_2_GREEN_DOWN*(-tmp_moved_constant_146 - tmp_moved_constant_147 - tmp_moved_constant_162) - tmp_moved_constant_164 - tmp_moved_constant_167;
+       const real_t tmp_moved_constant_169 = jac_affine_inv_0_0_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*-8.0 - tmp_moved_constant_136 - tmp_moved_constant_138) + jac_affine_inv_0_1_GREEN_DOWN*(jac_affine_inv_0_1_GREEN_DOWN*-8.0 - tmp_moved_constant_141 - tmp_moved_constant_143) + jac_affine_inv_0_2_GREEN_DOWN*(jac_affine_inv_0_2_GREEN_DOWN*-8.0 - tmp_moved_constant_146 - tmp_moved_constant_148) - tmp_moved_constant_165 - tmp_moved_constant_167;
+       {
+          /* CellType.GREEN_DOWN */
+          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 diffusivity_times_delta_dof_0 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_1 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_2 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_3 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_4 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_5 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_6 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_7 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_8 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_9 = _mm256_loadu_pd(& _data_wxEdge[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 wy_dof_0 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_1 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_2 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_3 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_4 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_5 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_6 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_7 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_8 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_9 = _mm256_loadu_pd(& _data_wyEdge[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 wz_dof_0 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_1 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_2 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_3 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_4 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_5 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_6 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_7 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_8 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_9 = _mm256_loadu_pd(& _data_wzEdge[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);
+                __m256d q_acc_4_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_16 = _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]));
+                   const __m256d tmp_qloop_17 = _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_18 = _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]));
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_17,tmp_qloop_18);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_16),tmp_qloop_19);
+                   const __m256d tmp_qloop_21 = _mm256_mul_pd(tmp_qloop_17,_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_22 = _mm256_mul_pd(tmp_qloop_17,_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_23 = _mm256_mul_pd(tmp_qloop_18,_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_24 = _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_25 = _mm256_mul_pd(tmp_qloop_24,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_26 = _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_25);
+                   const __m256d tmp_qloop_27 = _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_28 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_29 = _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_28);
+                   const __m256d tmp_qloop_30 = _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_31 = _mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_32 = _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_31);
+                   const __m256d tmp_qloop_33 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_30,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_16);
+                   const __m256d tmp_qloop_34 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_18);
+                   const __m256d tmp_qloop_35 = _mm256_add_pd(tmp_qloop_21,tmp_qloop_22);
+                   const __m256d tmp_qloop_36 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_24,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_17);
+                   const __m256d tmp_qloop_37 = _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_23),tmp_qloop_25),tmp_qloop_28),tmp_qloop_31),tmp_qloop_35);
+                   const __m256d tmp_qloop_38 = _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(tmp_qloop_21,wx_dof_6),_mm256_mul_pd(tmp_qloop_22,wx_dof_5)),_mm256_mul_pd(tmp_qloop_23,wx_dof_4)),_mm256_mul_pd(tmp_qloop_26,wx_dof_1)),_mm256_mul_pd(tmp_qloop_29,wx_dof_2)),_mm256_mul_pd(tmp_qloop_32,wx_dof_3)),_mm256_mul_pd(tmp_qloop_33,wx_dof_7)),_mm256_mul_pd(tmp_qloop_34,wx_dof_8)),_mm256_mul_pd(tmp_qloop_36,wx_dof_9)),_mm256_mul_pd(tmp_qloop_37,wx_dof_0));
+                   const __m256d tmp_qloop_39 = _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(tmp_qloop_21,wy_dof_6),_mm256_mul_pd(tmp_qloop_22,wy_dof_5)),_mm256_mul_pd(tmp_qloop_23,wy_dof_4)),_mm256_mul_pd(tmp_qloop_26,wy_dof_1)),_mm256_mul_pd(tmp_qloop_29,wy_dof_2)),_mm256_mul_pd(tmp_qloop_32,wy_dof_3)),_mm256_mul_pd(tmp_qloop_33,wy_dof_7)),_mm256_mul_pd(tmp_qloop_34,wy_dof_8)),_mm256_mul_pd(tmp_qloop_36,wy_dof_9)),_mm256_mul_pd(tmp_qloop_37,wy_dof_0));
+                   const __m256d tmp_qloop_40 = _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(tmp_qloop_21,wz_dof_6),_mm256_mul_pd(tmp_qloop_22,wz_dof_5)),_mm256_mul_pd(tmp_qloop_23,wz_dof_4)),_mm256_mul_pd(tmp_qloop_26,wz_dof_1)),_mm256_mul_pd(tmp_qloop_29,wz_dof_2)),_mm256_mul_pd(tmp_qloop_32,wz_dof_3)),_mm256_mul_pd(tmp_qloop_33,wz_dof_7)),_mm256_mul_pd(tmp_qloop_34,wz_dof_8)),_mm256_mul_pd(tmp_qloop_36,wz_dof_9)),_mm256_mul_pd(tmp_qloop_37,wz_dof_0));
+                   const __m256d tmp_qloop_41 = _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(diffusivity_times_delta_dof_0,tmp_qloop_37),_mm256_mul_pd(diffusivity_times_delta_dof_1,tmp_qloop_26)),_mm256_mul_pd(diffusivity_times_delta_dof_2,tmp_qloop_29)),_mm256_mul_pd(diffusivity_times_delta_dof_3,tmp_qloop_32)),_mm256_mul_pd(diffusivity_times_delta_dof_4,tmp_qloop_23)),_mm256_mul_pd(diffusivity_times_delta_dof_5,tmp_qloop_22)),_mm256_mul_pd(diffusivity_times_delta_dof_6,tmp_qloop_21)),_mm256_mul_pd(diffusivity_times_delta_dof_7,tmp_qloop_33)),_mm256_mul_pd(diffusivity_times_delta_dof_8,tmp_qloop_34)),_mm256_mul_pd(diffusivity_times_delta_dof_9,tmp_qloop_36)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN));
+                   const __m256d tmp_qloop_42 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))))));
+                   const __m256d tmp_qloop_61 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_17);
+                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_61),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,tmp_qloop_61),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,tmp_qloop_61),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))));
+                   const __m256d tmp_qloop_63 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_18);
+                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_63),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,tmp_qloop_63),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,tmp_qloop_63),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))));
+                   const __m256d tmp_qloop_65 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_16);
+                   const __m256d tmp_qloop_66 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_38,tmp_qloop_65),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,tmp_qloop_65),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,tmp_qloop_65),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))));
+                   const __m256d tmp_qloop_67 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_68 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_69 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_70 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_71 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_72 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_73 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(tmp_qloop_67,tmp_qloop_68)),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(tmp_qloop_69,tmp_qloop_70))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(tmp_qloop_71,tmp_qloop_72))));
+                   const __m256d tmp_qloop_74 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_75 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_76 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_77 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_78 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_79 = _mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_80 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(tmp_qloop_74,tmp_qloop_75)),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(tmp_qloop_76,tmp_qloop_77))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(tmp_qloop_78,tmp_qloop_79))));
+                   const __m256d tmp_qloop_81 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_82 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_83 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_84 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_85 = _mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_86 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_87 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(tmp_qloop_81,tmp_qloop_82)),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(tmp_qloop_83,tmp_qloop_84))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(tmp_qloop_85,tmp_qloop_86))));
+                   const __m256d tmp_qloop_88 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_89 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_75,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_88,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_70,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_77,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_88,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_79,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_88,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))))));
+                   const __m256d tmp_qloop_90 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_16);
+                   const __m256d tmp_qloop_91 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_90,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_92 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_82,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_91,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_69,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_84,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_91,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_86,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_91,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))))));
+                   const __m256d tmp_qloop_93 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_90,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_94 = _mm256_mul_pd(tmp_qloop_41,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_81,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_93,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_39,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_76,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_83,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_93,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_78,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_85,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_93,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))))));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159));
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163));
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166));
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168));
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154));
+                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158));
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159));
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163));
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166));
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168));
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158));
+                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159));
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163));
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166));
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168));
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169));
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151));
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152));
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158));
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159));
+                   const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163));
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166));
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168));
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_66,_mm256_set_pd(tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169));
+                   const __m256d q_tmp_4_0 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151));
+                   const __m256d q_tmp_4_1 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152));
+                   const __m256d q_tmp_4_2 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153));
+                   const __m256d q_tmp_4_3 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158));
+                   const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159));
+                   const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163));
+                   const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166));
+                   const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168));
+                   const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_qloop_73,_mm256_set_pd(tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169));
+                   const __m256d q_tmp_5_0 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151));
+                   const __m256d q_tmp_5_1 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152));
+                   const __m256d q_tmp_5_2 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153));
+                   const __m256d q_tmp_5_3 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154));
+                   const __m256d q_tmp_5_4 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159));
+                   const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163));
+                   const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166));
+                   const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168));
+                   const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_qloop_80,_mm256_set_pd(tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169));
+                   const __m256d q_tmp_6_0 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151));
+                   const __m256d q_tmp_6_1 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152));
+                   const __m256d q_tmp_6_2 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153));
+                   const __m256d q_tmp_6_3 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154));
+                   const __m256d q_tmp_6_4 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158));
+                   const __m256d q_tmp_6_5 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163));
+                   const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166));
+                   const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168));
+                   const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_qloop_87,_mm256_set_pd(tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169));
+                   const __m256d q_tmp_7_0 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151));
+                   const __m256d q_tmp_7_1 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152));
+                   const __m256d q_tmp_7_2 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153));
+                   const __m256d q_tmp_7_3 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154));
+                   const __m256d q_tmp_7_4 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158));
+                   const __m256d q_tmp_7_5 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159));
+                   const __m256d q_tmp_7_6 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166));
+                   const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168));
+                   const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_qloop_89,_mm256_set_pd(tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169));
+                   const __m256d q_tmp_8_0 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151));
+                   const __m256d q_tmp_8_1 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152));
+                   const __m256d q_tmp_8_2 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153));
+                   const __m256d q_tmp_8_3 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154));
+                   const __m256d q_tmp_8_4 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158));
+                   const __m256d q_tmp_8_5 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159));
+                   const __m256d q_tmp_8_6 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163));
+                   const __m256d q_tmp_8_7 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168));
+                   const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_qloop_92,_mm256_set_pd(tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169));
+                   const __m256d q_tmp_9_0 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151,tmp_moved_constant_151));
+                   const __m256d q_tmp_9_1 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152,tmp_moved_constant_152));
+                   const __m256d q_tmp_9_2 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153,tmp_moved_constant_153));
+                   const __m256d q_tmp_9_3 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154,tmp_moved_constant_154));
+                   const __m256d q_tmp_9_4 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158,tmp_moved_constant_158));
+                   const __m256d q_tmp_9_5 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159,tmp_moved_constant_159));
+                   const __m256d q_tmp_9_6 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163,tmp_moved_constant_163));
+                   const __m256d q_tmp_9_7 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166,tmp_moved_constant_166));
+                   const __m256d q_tmp_9_8 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168,tmp_moved_constant_168));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_94,_mm256_set_pd(tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169,tmp_moved_constant_169));
+                   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);
+                   q_acc_4_0 = _mm256_add_pd(q_acc_4_0,q_tmp_4_0);
+                   q_acc_4_1 = _mm256_add_pd(q_acc_4_1,q_tmp_4_1);
+                   q_acc_4_2 = _mm256_add_pd(q_acc_4_2,q_tmp_4_2);
+                   q_acc_4_3 = _mm256_add_pd(q_acc_4_3,q_tmp_4_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5);
+                   q_acc_4_6 = _mm256_add_pd(q_acc_4_6,q_tmp_4_6);
+                   q_acc_4_7 = _mm256_add_pd(q_acc_4_7,q_tmp_4_7);
+                   q_acc_4_8 = _mm256_add_pd(q_acc_4_8,q_tmp_4_8);
+                   q_acc_4_9 = _mm256_add_pd(q_acc_4_9,q_tmp_4_9);
+                   q_acc_5_0 = _mm256_add_pd(q_acc_5_0,q_tmp_5_0);
+                   q_acc_5_1 = _mm256_add_pd(q_acc_5_1,q_tmp_5_1);
+                   q_acc_5_2 = _mm256_add_pd(q_acc_5_2,q_tmp_5_2);
+                   q_acc_5_3 = _mm256_add_pd(q_acc_5_3,q_tmp_5_3);
+                   q_acc_5_4 = _mm256_add_pd(q_acc_5_4,q_tmp_5_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_5_6 = _mm256_add_pd(q_acc_5_6,q_tmp_5_6);
+                   q_acc_5_7 = _mm256_add_pd(q_acc_5_7,q_tmp_5_7);
+                   q_acc_5_8 = _mm256_add_pd(q_acc_5_8,q_tmp_5_8);
+                   q_acc_5_9 = _mm256_add_pd(q_acc_5_9,q_tmp_5_9);
+                   q_acc_6_0 = _mm256_add_pd(q_acc_6_0,q_tmp_6_0);
+                   q_acc_6_1 = _mm256_add_pd(q_acc_6_1,q_tmp_6_1);
+                   q_acc_6_2 = _mm256_add_pd(q_acc_6_2,q_tmp_6_2);
+                   q_acc_6_3 = _mm256_add_pd(q_acc_6_3,q_tmp_6_3);
+                   q_acc_6_4 = _mm256_add_pd(q_acc_6_4,q_tmp_6_4);
+                   q_acc_6_5 = _mm256_add_pd(q_acc_6_5,q_tmp_6_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_6_7 = _mm256_add_pd(q_acc_6_7,q_tmp_6_7);
+                   q_acc_6_8 = _mm256_add_pd(q_acc_6_8,q_tmp_6_8);
+                   q_acc_6_9 = _mm256_add_pd(q_acc_6_9,q_tmp_6_9);
+                   q_acc_7_0 = _mm256_add_pd(q_acc_7_0,q_tmp_7_0);
+                   q_acc_7_1 = _mm256_add_pd(q_acc_7_1,q_tmp_7_1);
+                   q_acc_7_2 = _mm256_add_pd(q_acc_7_2,q_tmp_7_2);
+                   q_acc_7_3 = _mm256_add_pd(q_acc_7_3,q_tmp_7_3);
+                   q_acc_7_4 = _mm256_add_pd(q_acc_7_4,q_tmp_7_4);
+                   q_acc_7_5 = _mm256_add_pd(q_acc_7_5,q_tmp_7_5);
+                   q_acc_7_6 = _mm256_add_pd(q_acc_7_6,q_tmp_7_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_7_8 = _mm256_add_pd(q_acc_7_8,q_tmp_7_8);
+                   q_acc_7_9 = _mm256_add_pd(q_acc_7_9,q_tmp_7_9);
+                   q_acc_8_0 = _mm256_add_pd(q_acc_8_0,q_tmp_8_0);
+                   q_acc_8_1 = _mm256_add_pd(q_acc_8_1,q_tmp_8_1);
+                   q_acc_8_2 = _mm256_add_pd(q_acc_8_2,q_tmp_8_2);
+                   q_acc_8_3 = _mm256_add_pd(q_acc_8_3,q_tmp_8_3);
+                   q_acc_8_4 = _mm256_add_pd(q_acc_8_4,q_tmp_8_4);
+                   q_acc_8_5 = _mm256_add_pd(q_acc_8_5,q_tmp_8_5);
+                   q_acc_8_6 = _mm256_add_pd(q_acc_8_6,q_tmp_8_6);
+                   q_acc_8_7 = _mm256_add_pd(q_acc_8_7,q_tmp_8_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_8_9 = _mm256_add_pd(q_acc_8_9,q_tmp_8_9);
+                   q_acc_9_0 = _mm256_add_pd(q_acc_9_0,q_tmp_9_0);
+                   q_acc_9_1 = _mm256_add_pd(q_acc_9_1,q_tmp_9_1);
+                   q_acc_9_2 = _mm256_add_pd(q_acc_9_2,q_tmp_9_2);
+                   q_acc_9_3 = _mm256_add_pd(q_acc_9_3,q_tmp_9_3);
+                   q_acc_9_4 = _mm256_add_pd(q_acc_9_4,q_tmp_9_4);
+                   q_acc_9_5 = _mm256_add_pd(q_acc_9_5,q_tmp_9_5);
+                   q_acc_9_6 = _mm256_add_pd(q_acc_9_6,q_tmp_9_6);
+                   q_acc_9_7 = _mm256_add_pd(q_acc_9_7,q_tmp_9_7);
+                   q_acc_9_8 = _mm256_add_pd(q_acc_9_8,q_tmp_9_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_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));
+                const __m256d elMatVec_4 = _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_4_0,src_dof_0),_mm256_mul_pd(q_acc_4_1,src_dof_1)),_mm256_mul_pd(q_acc_4_2,src_dof_2)),_mm256_mul_pd(q_acc_4_3,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)),_mm256_mul_pd(q_acc_4_6,src_dof_6)),_mm256_mul_pd(q_acc_4_7,src_dof_7)),_mm256_mul_pd(q_acc_4_8,src_dof_8)),_mm256_mul_pd(q_acc_4_9,src_dof_9));
+                const __m256d elMatVec_5 = _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_5_0,src_dof_0),_mm256_mul_pd(q_acc_5_1,src_dof_1)),_mm256_mul_pd(q_acc_5_2,src_dof_2)),_mm256_mul_pd(q_acc_5_3,src_dof_3)),_mm256_mul_pd(q_acc_5_4,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)),_mm256_mul_pd(q_acc_5_6,src_dof_6)),_mm256_mul_pd(q_acc_5_7,src_dof_7)),_mm256_mul_pd(q_acc_5_8,src_dof_8)),_mm256_mul_pd(q_acc_5_9,src_dof_9));
+                const __m256d elMatVec_6 = _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_6_0,src_dof_0),_mm256_mul_pd(q_acc_6_1,src_dof_1)),_mm256_mul_pd(q_acc_6_2,src_dof_2)),_mm256_mul_pd(q_acc_6_3,src_dof_3)),_mm256_mul_pd(q_acc_6_4,src_dof_4)),_mm256_mul_pd(q_acc_6_5,src_dof_5)),_mm256_mul_pd(q_acc_6_6,src_dof_6)),_mm256_mul_pd(q_acc_6_7,src_dof_7)),_mm256_mul_pd(q_acc_6_8,src_dof_8)),_mm256_mul_pd(q_acc_6_9,src_dof_9));
+                const __m256d elMatVec_7 = _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_7_0,src_dof_0),_mm256_mul_pd(q_acc_7_1,src_dof_1)),_mm256_mul_pd(q_acc_7_2,src_dof_2)),_mm256_mul_pd(q_acc_7_3,src_dof_3)),_mm256_mul_pd(q_acc_7_4,src_dof_4)),_mm256_mul_pd(q_acc_7_5,src_dof_5)),_mm256_mul_pd(q_acc_7_6,src_dof_6)),_mm256_mul_pd(q_acc_7_7,src_dof_7)),_mm256_mul_pd(q_acc_7_8,src_dof_8)),_mm256_mul_pd(q_acc_7_9,src_dof_9));
+                const __m256d elMatVec_8 = _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_8_0,src_dof_0),_mm256_mul_pd(q_acc_8_1,src_dof_1)),_mm256_mul_pd(q_acc_8_2,src_dof_2)),_mm256_mul_pd(q_acc_8_3,src_dof_3)),_mm256_mul_pd(q_acc_8_4,src_dof_4)),_mm256_mul_pd(q_acc_8_5,src_dof_5)),_mm256_mul_pd(q_acc_8_6,src_dof_6)),_mm256_mul_pd(q_acc_8_7,src_dof_7)),_mm256_mul_pd(q_acc_8_8,src_dof_8)),_mm256_mul_pd(q_acc_8_9,src_dof_9));
+                const __m256d elMatVec_9 = _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_9_0,src_dof_0),_mm256_mul_pd(q_acc_9_1,src_dof_1)),_mm256_mul_pd(q_acc_9_2,src_dof_2)),_mm256_mul_pd(q_acc_9_3,src_dof_3)),_mm256_mul_pd(q_acc_9_4,src_dof_4)),_mm256_mul_pd(q_acc_9_5,src_dof_5)),_mm256_mul_pd(q_acc_9_6,src_dof_6)),_mm256_mul_pd(q_acc_9_7,src_dof_7)),_mm256_mul_pd(q_acc_9_8,src_dof_8)),_mm256_mul_pd(q_acc_9_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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],_mm256_add_pd(elMatVec_6,_mm256_loadu_pd(& _data_dstEdge[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])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_7,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_8,_mm256_loadu_pd(& _data_dstEdge[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))])));
+                _mm256_storeu_pd(&_data_dstEdge[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))],_mm256_add_pd(elMatVec_9,_mm256_loadu_pd(& _data_dstEdge[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))])));
+             }
+             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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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;
+                real_t q_acc_4_0 = 0.0;
+                real_t q_acc_4_1 = 0.0;
+                real_t q_acc_4_2 = 0.0;
+                real_t q_acc_4_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_4_5 = 0.0;
+                real_t q_acc_4_6 = 0.0;
+                real_t q_acc_4_7 = 0.0;
+                real_t q_acc_4_8 = 0.0;
+                real_t q_acc_4_9 = 0.0;
+                real_t q_acc_5_0 = 0.0;
+                real_t q_acc_5_1 = 0.0;
+                real_t q_acc_5_2 = 0.0;
+                real_t q_acc_5_3 = 0.0;
+                real_t q_acc_5_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_5_6 = 0.0;
+                real_t q_acc_5_7 = 0.0;
+                real_t q_acc_5_8 = 0.0;
+                real_t q_acc_5_9 = 0.0;
+                real_t q_acc_6_0 = 0.0;
+                real_t q_acc_6_1 = 0.0;
+                real_t q_acc_6_2 = 0.0;
+                real_t q_acc_6_3 = 0.0;
+                real_t q_acc_6_4 = 0.0;
+                real_t q_acc_6_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_6_7 = 0.0;
+                real_t q_acc_6_8 = 0.0;
+                real_t q_acc_6_9 = 0.0;
+                real_t q_acc_7_0 = 0.0;
+                real_t q_acc_7_1 = 0.0;
+                real_t q_acc_7_2 = 0.0;
+                real_t q_acc_7_3 = 0.0;
+                real_t q_acc_7_4 = 0.0;
+                real_t q_acc_7_5 = 0.0;
+                real_t q_acc_7_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_7_8 = 0.0;
+                real_t q_acc_7_9 = 0.0;
+                real_t q_acc_8_0 = 0.0;
+                real_t q_acc_8_1 = 0.0;
+                real_t q_acc_8_2 = 0.0;
+                real_t q_acc_8_3 = 0.0;
+                real_t q_acc_8_4 = 0.0;
+                real_t q_acc_8_5 = 0.0;
+                real_t q_acc_8_6 = 0.0;
+                real_t q_acc_8_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_8_9 = 0.0;
+                real_t q_acc_9_0 = 0.0;
+                real_t q_acc_9_1 = 0.0;
+                real_t q_acc_9_2 = 0.0;
+                real_t q_acc_9_3 = 0.0;
+                real_t q_acc_9_4 = 0.0;
+                real_t q_acc_9_5 = 0.0;
+                real_t q_acc_9_6 = 0.0;
+                real_t q_acc_9_7 = 0.0;
+                real_t q_acc_9_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_16 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_17 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_18 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18;
+                   const real_t tmp_qloop_20 = tmp_qloop_16 + tmp_qloop_19 - 3.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_17*_data_q_p_1[q];
+                   const real_t tmp_qloop_22 = tmp_qloop_17*_data_q_p_2[q];
+                   const real_t tmp_qloop_23 = tmp_qloop_18*_data_q_p_2[q];
+                   const real_t tmp_qloop_24 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_25 = tmp_qloop_24*2.0;
+                   const real_t tmp_qloop_26 = tmp_qloop_25 - _data_q_p_0[q];
+                   const real_t tmp_qloop_27 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_28 = tmp_qloop_27*2.0;
+                   const real_t tmp_qloop_29 = tmp_qloop_28 - _data_q_p_1[q];
+                   const real_t tmp_qloop_30 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_31 = tmp_qloop_30*2.0;
+                   const real_t tmp_qloop_32 = tmp_qloop_31 - _data_q_p_2[q];
+                   const real_t tmp_qloop_33 = tmp_qloop_16 - tmp_qloop_22 - tmp_qloop_23 + tmp_qloop_30*-4.0;
+                   const real_t tmp_qloop_34 = tmp_qloop_18 - tmp_qloop_21 - tmp_qloop_23 + tmp_qloop_27*-4.0;
+                   const real_t tmp_qloop_35 = tmp_qloop_21 + tmp_qloop_22;
+                   const real_t tmp_qloop_36 = tmp_qloop_17 + tmp_qloop_24*-4.0 - tmp_qloop_35;
+                   const real_t tmp_qloop_37 = tmp_qloop_23 + tmp_qloop_25 + tmp_qloop_28 + tmp_qloop_31 + tmp_qloop_35 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                   const real_t tmp_qloop_38 = tmp_qloop_21*wx_dof_6 + tmp_qloop_22*wx_dof_5 + tmp_qloop_23*wx_dof_4 + tmp_qloop_26*wx_dof_1 + tmp_qloop_29*wx_dof_2 + tmp_qloop_32*wx_dof_3 + tmp_qloop_33*wx_dof_7 + tmp_qloop_34*wx_dof_8 + tmp_qloop_36*wx_dof_9 + tmp_qloop_37*wx_dof_0;
+                   const real_t tmp_qloop_39 = tmp_qloop_21*wy_dof_6 + tmp_qloop_22*wy_dof_5 + tmp_qloop_23*wy_dof_4 + tmp_qloop_26*wy_dof_1 + tmp_qloop_29*wy_dof_2 + tmp_qloop_32*wy_dof_3 + tmp_qloop_33*wy_dof_7 + tmp_qloop_34*wy_dof_8 + tmp_qloop_36*wy_dof_9 + tmp_qloop_37*wy_dof_0;
+                   const real_t tmp_qloop_40 = tmp_qloop_21*wz_dof_6 + tmp_qloop_22*wz_dof_5 + tmp_qloop_23*wz_dof_4 + tmp_qloop_26*wz_dof_1 + tmp_qloop_29*wz_dof_2 + tmp_qloop_32*wz_dof_3 + tmp_qloop_33*wz_dof_7 + tmp_qloop_34*wz_dof_8 + tmp_qloop_36*wz_dof_9 + tmp_qloop_37*wz_dof_0;
+                   const real_t tmp_qloop_41 = abs_det_jac_affine_GREEN_DOWN*(diffusivity_times_delta_dof_0*tmp_qloop_37 + diffusivity_times_delta_dof_1*tmp_qloop_26 + diffusivity_times_delta_dof_2*tmp_qloop_29 + diffusivity_times_delta_dof_3*tmp_qloop_32 + diffusivity_times_delta_dof_4*tmp_qloop_23 + diffusivity_times_delta_dof_5*tmp_qloop_22 + diffusivity_times_delta_dof_6*tmp_qloop_21 + diffusivity_times_delta_dof_7*tmp_qloop_33 + diffusivity_times_delta_dof_8*tmp_qloop_34 + diffusivity_times_delta_dof_9*tmp_qloop_36)*_data_q_w[q];
+                   const real_t tmp_qloop_42 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_20 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_20 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_20) + tmp_qloop_39*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_20 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_20 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_20) + tmp_qloop_40*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_20 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_20 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_20));
+                   const real_t tmp_qloop_61 = tmp_qloop_17 - 1.0;
+                   const real_t tmp_qloop_62 = tmp_qloop_41*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_38*tmp_qloop_61 + jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_39*tmp_qloop_61 + jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_40*tmp_qloop_61);
+                   const real_t tmp_qloop_63 = tmp_qloop_18 - 1.0;
+                   const real_t tmp_qloop_64 = tmp_qloop_41*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_38*tmp_qloop_63 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_39*tmp_qloop_63 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_40*tmp_qloop_63);
+                   const real_t tmp_qloop_65 = tmp_qloop_16 - 1.0;
+                   const real_t tmp_qloop_66 = tmp_qloop_41*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_38*tmp_qloop_65 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_39*tmp_qloop_65 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_40*tmp_qloop_65);
+                   const real_t tmp_qloop_67 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_18;
+                   const real_t tmp_qloop_68 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_16;
+                   const real_t tmp_qloop_69 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_18;
+                   const real_t tmp_qloop_70 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_16;
+                   const real_t tmp_qloop_71 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_18;
+                   const real_t tmp_qloop_72 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_16;
+                   const real_t tmp_qloop_73 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_67 + tmp_qloop_68) + tmp_qloop_39*(tmp_qloop_69 + tmp_qloop_70) + tmp_qloop_40*(tmp_qloop_71 + tmp_qloop_72));
+                   const real_t tmp_qloop_74 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_17;
+                   const real_t tmp_qloop_75 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_16;
+                   const real_t tmp_qloop_76 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_17;
+                   const real_t tmp_qloop_77 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_16;
+                   const real_t tmp_qloop_78 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_17;
+                   const real_t tmp_qloop_79 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_16;
+                   const real_t tmp_qloop_80 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_74 + tmp_qloop_75) + tmp_qloop_39*(tmp_qloop_76 + tmp_qloop_77) + tmp_qloop_40*(tmp_qloop_78 + tmp_qloop_79));
+                   const real_t tmp_qloop_81 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_17;
+                   const real_t tmp_qloop_82 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_18;
+                   const real_t tmp_qloop_83 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_17;
+                   const real_t tmp_qloop_84 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_18;
+                   const real_t tmp_qloop_85 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_17;
+                   const real_t tmp_qloop_86 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_18;
+                   const real_t tmp_qloop_87 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_81 + tmp_qloop_82) + tmp_qloop_39*(tmp_qloop_83 + tmp_qloop_84) + tmp_qloop_40*(tmp_qloop_85 + tmp_qloop_86));
+                   const real_t tmp_qloop_88 = -tmp_qloop_19 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_89 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_88 - tmp_qloop_68 - tmp_qloop_75) + tmp_qloop_39*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_88 - tmp_qloop_70 - tmp_qloop_77) + tmp_qloop_40*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_88 - tmp_qloop_72 - tmp_qloop_79));
+                   const real_t tmp_qloop_90 = tmp_qloop_16 - 4.0;
+                   const real_t tmp_qloop_91 = -tmp_qloop_17 - tmp_qloop_90 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_92 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_91 - tmp_qloop_67 - tmp_qloop_82) + tmp_qloop_39*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_91 - tmp_qloop_69 - tmp_qloop_84) + tmp_qloop_40*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_91 - tmp_qloop_71 - tmp_qloop_86));
+                   const real_t tmp_qloop_93 = -tmp_qloop_18 - tmp_qloop_90 - 8.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_94 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_93 - tmp_qloop_74 - tmp_qloop_81) + tmp_qloop_39*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_93 - tmp_qloop_76 - tmp_qloop_83) + tmp_qloop_40*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_93 - tmp_qloop_78 - tmp_qloop_85));
+                   const real_t q_tmp_0_0 = tmp_moved_constant_151*tmp_qloop_42;
+                   const real_t q_tmp_0_1 = tmp_moved_constant_152*tmp_qloop_42;
+                   const real_t q_tmp_0_2 = tmp_moved_constant_153*tmp_qloop_42;
+                   const real_t q_tmp_0_3 = tmp_moved_constant_154*tmp_qloop_42;
+                   const real_t q_tmp_0_4 = tmp_moved_constant_158*tmp_qloop_42;
+                   const real_t q_tmp_0_5 = tmp_moved_constant_159*tmp_qloop_42;
+                   const real_t q_tmp_0_6 = tmp_moved_constant_163*tmp_qloop_42;
+                   const real_t q_tmp_0_7 = tmp_moved_constant_166*tmp_qloop_42;
+                   const real_t q_tmp_0_8 = tmp_moved_constant_168*tmp_qloop_42;
+                   const real_t q_tmp_0_9 = tmp_moved_constant_169*tmp_qloop_42;
+                   const real_t q_tmp_1_0 = tmp_moved_constant_151*tmp_qloop_62;
+                   const real_t q_tmp_1_1 = tmp_moved_constant_152*tmp_qloop_62;
+                   const real_t q_tmp_1_2 = tmp_moved_constant_153*tmp_qloop_62;
+                   const real_t q_tmp_1_3 = tmp_moved_constant_154*tmp_qloop_62;
+                   const real_t q_tmp_1_4 = tmp_moved_constant_158*tmp_qloop_62;
+                   const real_t q_tmp_1_5 = tmp_moved_constant_159*tmp_qloop_62;
+                   const real_t q_tmp_1_6 = tmp_moved_constant_163*tmp_qloop_62;
+                   const real_t q_tmp_1_7 = tmp_moved_constant_166*tmp_qloop_62;
+                   const real_t q_tmp_1_8 = tmp_moved_constant_168*tmp_qloop_62;
+                   const real_t q_tmp_1_9 = tmp_moved_constant_169*tmp_qloop_62;
+                   const real_t q_tmp_2_0 = tmp_moved_constant_151*tmp_qloop_64;
+                   const real_t q_tmp_2_1 = tmp_moved_constant_152*tmp_qloop_64;
+                   const real_t q_tmp_2_2 = tmp_moved_constant_153*tmp_qloop_64;
+                   const real_t q_tmp_2_3 = tmp_moved_constant_154*tmp_qloop_64;
+                   const real_t q_tmp_2_4 = tmp_moved_constant_158*tmp_qloop_64;
+                   const real_t q_tmp_2_5 = tmp_moved_constant_159*tmp_qloop_64;
+                   const real_t q_tmp_2_6 = tmp_moved_constant_163*tmp_qloop_64;
+                   const real_t q_tmp_2_7 = tmp_moved_constant_166*tmp_qloop_64;
+                   const real_t q_tmp_2_8 = tmp_moved_constant_168*tmp_qloop_64;
+                   const real_t q_tmp_2_9 = tmp_moved_constant_169*tmp_qloop_64;
+                   const real_t q_tmp_3_0 = tmp_moved_constant_151*tmp_qloop_66;
+                   const real_t q_tmp_3_1 = tmp_moved_constant_152*tmp_qloop_66;
+                   const real_t q_tmp_3_2 = tmp_moved_constant_153*tmp_qloop_66;
+                   const real_t q_tmp_3_3 = tmp_moved_constant_154*tmp_qloop_66;
+                   const real_t q_tmp_3_4 = tmp_moved_constant_158*tmp_qloop_66;
+                   const real_t q_tmp_3_5 = tmp_moved_constant_159*tmp_qloop_66;
+                   const real_t q_tmp_3_6 = tmp_moved_constant_163*tmp_qloop_66;
+                   const real_t q_tmp_3_7 = tmp_moved_constant_166*tmp_qloop_66;
+                   const real_t q_tmp_3_8 = tmp_moved_constant_168*tmp_qloop_66;
+                   const real_t q_tmp_3_9 = tmp_moved_constant_169*tmp_qloop_66;
+                   const real_t q_tmp_4_0 = tmp_moved_constant_151*tmp_qloop_73;
+                   const real_t q_tmp_4_1 = tmp_moved_constant_152*tmp_qloop_73;
+                   const real_t q_tmp_4_2 = tmp_moved_constant_153*tmp_qloop_73;
+                   const real_t q_tmp_4_3 = tmp_moved_constant_154*tmp_qloop_73;
+                   const real_t q_tmp_4_4 = tmp_moved_constant_158*tmp_qloop_73;
+                   const real_t q_tmp_4_5 = tmp_moved_constant_159*tmp_qloop_73;
+                   const real_t q_tmp_4_6 = tmp_moved_constant_163*tmp_qloop_73;
+                   const real_t q_tmp_4_7 = tmp_moved_constant_166*tmp_qloop_73;
+                   const real_t q_tmp_4_8 = tmp_moved_constant_168*tmp_qloop_73;
+                   const real_t q_tmp_4_9 = tmp_moved_constant_169*tmp_qloop_73;
+                   const real_t q_tmp_5_0 = tmp_moved_constant_151*tmp_qloop_80;
+                   const real_t q_tmp_5_1 = tmp_moved_constant_152*tmp_qloop_80;
+                   const real_t q_tmp_5_2 = tmp_moved_constant_153*tmp_qloop_80;
+                   const real_t q_tmp_5_3 = tmp_moved_constant_154*tmp_qloop_80;
+                   const real_t q_tmp_5_4 = tmp_moved_constant_158*tmp_qloop_80;
+                   const real_t q_tmp_5_5 = tmp_moved_constant_159*tmp_qloop_80;
+                   const real_t q_tmp_5_6 = tmp_moved_constant_163*tmp_qloop_80;
+                   const real_t q_tmp_5_7 = tmp_moved_constant_166*tmp_qloop_80;
+                   const real_t q_tmp_5_8 = tmp_moved_constant_168*tmp_qloop_80;
+                   const real_t q_tmp_5_9 = tmp_moved_constant_169*tmp_qloop_80;
+                   const real_t q_tmp_6_0 = tmp_moved_constant_151*tmp_qloop_87;
+                   const real_t q_tmp_6_1 = tmp_moved_constant_152*tmp_qloop_87;
+                   const real_t q_tmp_6_2 = tmp_moved_constant_153*tmp_qloop_87;
+                   const real_t q_tmp_6_3 = tmp_moved_constant_154*tmp_qloop_87;
+                   const real_t q_tmp_6_4 = tmp_moved_constant_158*tmp_qloop_87;
+                   const real_t q_tmp_6_5 = tmp_moved_constant_159*tmp_qloop_87;
+                   const real_t q_tmp_6_6 = tmp_moved_constant_163*tmp_qloop_87;
+                   const real_t q_tmp_6_7 = tmp_moved_constant_166*tmp_qloop_87;
+                   const real_t q_tmp_6_8 = tmp_moved_constant_168*tmp_qloop_87;
+                   const real_t q_tmp_6_9 = tmp_moved_constant_169*tmp_qloop_87;
+                   const real_t q_tmp_7_0 = tmp_moved_constant_151*tmp_qloop_89;
+                   const real_t q_tmp_7_1 = tmp_moved_constant_152*tmp_qloop_89;
+                   const real_t q_tmp_7_2 = tmp_moved_constant_153*tmp_qloop_89;
+                   const real_t q_tmp_7_3 = tmp_moved_constant_154*tmp_qloop_89;
+                   const real_t q_tmp_7_4 = tmp_moved_constant_158*tmp_qloop_89;
+                   const real_t q_tmp_7_5 = tmp_moved_constant_159*tmp_qloop_89;
+                   const real_t q_tmp_7_6 = tmp_moved_constant_163*tmp_qloop_89;
+                   const real_t q_tmp_7_7 = tmp_moved_constant_166*tmp_qloop_89;
+                   const real_t q_tmp_7_8 = tmp_moved_constant_168*tmp_qloop_89;
+                   const real_t q_tmp_7_9 = tmp_moved_constant_169*tmp_qloop_89;
+                   const real_t q_tmp_8_0 = tmp_moved_constant_151*tmp_qloop_92;
+                   const real_t q_tmp_8_1 = tmp_moved_constant_152*tmp_qloop_92;
+                   const real_t q_tmp_8_2 = tmp_moved_constant_153*tmp_qloop_92;
+                   const real_t q_tmp_8_3 = tmp_moved_constant_154*tmp_qloop_92;
+                   const real_t q_tmp_8_4 = tmp_moved_constant_158*tmp_qloop_92;
+                   const real_t q_tmp_8_5 = tmp_moved_constant_159*tmp_qloop_92;
+                   const real_t q_tmp_8_6 = tmp_moved_constant_163*tmp_qloop_92;
+                   const real_t q_tmp_8_7 = tmp_moved_constant_166*tmp_qloop_92;
+                   const real_t q_tmp_8_8 = tmp_moved_constant_168*tmp_qloop_92;
+                   const real_t q_tmp_8_9 = tmp_moved_constant_169*tmp_qloop_92;
+                   const real_t q_tmp_9_0 = tmp_moved_constant_151*tmp_qloop_94;
+                   const real_t q_tmp_9_1 = tmp_moved_constant_152*tmp_qloop_94;
+                   const real_t q_tmp_9_2 = tmp_moved_constant_153*tmp_qloop_94;
+                   const real_t q_tmp_9_3 = tmp_moved_constant_154*tmp_qloop_94;
+                   const real_t q_tmp_9_4 = tmp_moved_constant_158*tmp_qloop_94;
+                   const real_t q_tmp_9_5 = tmp_moved_constant_159*tmp_qloop_94;
+                   const real_t q_tmp_9_6 = tmp_moved_constant_163*tmp_qloop_94;
+                   const real_t q_tmp_9_7 = tmp_moved_constant_166*tmp_qloop_94;
+                   const real_t q_tmp_9_8 = tmp_moved_constant_168*tmp_qloop_94;
+                   const real_t q_tmp_9_9 = tmp_moved_constant_169*tmp_qloop_94;
+                   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;
+                   q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                   q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                   q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                   q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                   q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                   q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                   q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                   q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                   q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                   q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                   q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                   q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                   q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                   q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                   q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                   q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                   q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                   q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                   q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                   q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                   q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                   q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                   q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                   q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                   q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                   q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                   q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                   q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                   q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                   q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                   q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                   q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                   q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                   q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                   q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                   q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                   q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                   q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                   q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                   q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                   q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                   q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                   q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                   q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                   q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                   q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                   q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                   q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                   q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+                const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+                const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+                const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+                const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+                const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+                const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+                _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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] = elMatVec_6 + _data_dstEdge[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_dstEdge[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))] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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))];
+             }
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/supg_diffusion/avx/P2ElementwiseSupgDiffusion_computeInverseDiagonalOperatorValues_P2ElementwiseSupgDiffusion_macro_3D.cpp b/operators/supg_diffusion/avx/P2ElementwiseSupgDiffusion_computeInverseDiagonalOperatorValues_P2ElementwiseSupgDiffusion_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..248683952806ee00098ba1ddc2959dabad5f2617
--- /dev/null
+++ b/operators/supg_diffusion/avx/P2ElementwiseSupgDiffusion_computeInverseDiagonalOperatorValues_P2ElementwiseSupgDiffusion_macro_3D.cpp
@@ -0,0 +1,2664 @@
+/*
+* 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 Operator Generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ElementwiseSupgDiffusion.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ElementwiseSupgDiffusion::computeInverseDiagonalOperatorValues_P2ElementwiseSupgDiffusion_macro_3D( real_t * RESTRICT  _data_diffusivity_times_deltaEdge, real_t * RESTRICT  _data_diffusivity_times_deltaVertex, real_t * RESTRICT  _data_invDiag_Edge, real_t * RESTRICT  _data_invDiag_Vertex, real_t * RESTRICT  _data_wxEdge, real_t * RESTRICT  _data_wxVertex, real_t * RESTRICT  _data_wyEdge, real_t * RESTRICT  _data_wyVertex, real_t * RESTRICT  _data_wzEdge, real_t * RESTRICT  _data_wzVertex, 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 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_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 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_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 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_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 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP;
+       const real_t tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP);
+       const real_t jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP);
+       const real_t jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP);
+       const real_t jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP);
+       const real_t jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP);
+       const real_t tmp_qloop_25 = jac_affine_inv_2_0_WHITE_UP*4.0;
+       const real_t tmp_qloop_26 = jac_affine_inv_0_0_WHITE_UP*4.0;
+       const real_t tmp_qloop_27 = jac_affine_inv_1_0_WHITE_UP*4.0;
+       const real_t tmp_qloop_28 = tmp_qloop_26 + tmp_qloop_27;
+       const real_t tmp_qloop_29 = tmp_qloop_25 + tmp_qloop_28;
+       const real_t tmp_qloop_30 = jac_affine_inv_2_1_WHITE_UP*4.0;
+       const real_t tmp_qloop_31 = jac_affine_inv_0_1_WHITE_UP*4.0;
+       const real_t tmp_qloop_32 = jac_affine_inv_1_1_WHITE_UP*4.0;
+       const real_t tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32;
+       const real_t tmp_qloop_34 = tmp_qloop_30 + tmp_qloop_33;
+       const real_t tmp_qloop_35 = jac_affine_inv_2_2_WHITE_UP*4.0;
+       const real_t tmp_qloop_36 = jac_affine_inv_0_2_WHITE_UP*4.0;
+       const real_t tmp_qloop_37 = jac_affine_inv_1_2_WHITE_UP*4.0;
+       const real_t tmp_qloop_38 = tmp_qloop_36 + tmp_qloop_37;
+       const real_t tmp_qloop_39 = tmp_qloop_35 + tmp_qloop_38;
+       const real_t tmp_qloop_50 = jac_affine_inv_2_0_WHITE_UP*8.0;
+       const real_t tmp_qloop_51 = jac_affine_inv_2_1_WHITE_UP*8.0;
+       const real_t tmp_qloop_52 = jac_affine_inv_2_2_WHITE_UP*8.0;
+       const real_t tmp_qloop_65 = jac_affine_inv_1_0_WHITE_UP*8.0;
+       const real_t tmp_qloop_66 = jac_affine_inv_1_1_WHITE_UP*8.0;
+       const real_t tmp_qloop_67 = jac_affine_inv_1_2_WHITE_UP*8.0;
+       const real_t tmp_qloop_69 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_27 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_32 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_37;
+       const real_t tmp_qloop_70 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_26 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_31 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_36;
+       const real_t tmp_qloop_73 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_26 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_31 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_36;
+       {
+          /* CellType.WHITE_UP */
+          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 diffusivity_times_delta_dof_0 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_1 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_2 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_3 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_4 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_5 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_6 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_7 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_8 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_9 = _mm256_loadu_pd(& _data_wxEdge[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 wy_dof_0 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_1 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_2 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_3 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_4 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_5 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_6 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_7 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_8 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_9 = _mm256_loadu_pd(& _data_wyEdge[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 wz_dof_0 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_1 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_2 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_3 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_4 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_5 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_6 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_7 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_8 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_9 = _mm256_loadu_pd(& _data_wzEdge[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_1_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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,wx_dof_1),_mm256_mul_pd(tmp_qloop_13,wx_dof_2)),_mm256_mul_pd(tmp_qloop_16,wx_dof_3)),_mm256_mul_pd(tmp_qloop_17,wx_dof_7)),_mm256_mul_pd(tmp_qloop_18,wx_dof_8)),_mm256_mul_pd(tmp_qloop_20,wx_dof_9)),_mm256_mul_pd(tmp_qloop_21,wx_dof_0)),_mm256_mul_pd(tmp_qloop_5,wx_dof_6)),_mm256_mul_pd(tmp_qloop_6,wx_dof_5)),_mm256_mul_pd(tmp_qloop_7,wx_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,wy_dof_1),_mm256_mul_pd(tmp_qloop_13,wy_dof_2)),_mm256_mul_pd(tmp_qloop_16,wy_dof_3)),_mm256_mul_pd(tmp_qloop_17,wy_dof_7)),_mm256_mul_pd(tmp_qloop_18,wy_dof_8)),_mm256_mul_pd(tmp_qloop_20,wy_dof_9)),_mm256_mul_pd(tmp_qloop_21,wy_dof_0)),_mm256_mul_pd(tmp_qloop_5,wy_dof_6)),_mm256_mul_pd(tmp_qloop_6,wy_dof_5)),_mm256_mul_pd(tmp_qloop_7,wy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,wz_dof_1),_mm256_mul_pd(tmp_qloop_13,wz_dof_2)),_mm256_mul_pd(tmp_qloop_16,wz_dof_3)),_mm256_mul_pd(tmp_qloop_17,wz_dof_7)),_mm256_mul_pd(tmp_qloop_18,wz_dof_8)),_mm256_mul_pd(tmp_qloop_20,wz_dof_9)),_mm256_mul_pd(tmp_qloop_21,wz_dof_0)),_mm256_mul_pd(tmp_qloop_5,wz_dof_6)),_mm256_mul_pd(tmp_qloop_6,wz_dof_5)),_mm256_mul_pd(tmp_qloop_7,wz_dof_4));
+                   const __m256d tmp_qloop_40 = _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(diffusivity_times_delta_dof_0,tmp_qloop_21),_mm256_mul_pd(diffusivity_times_delta_dof_1,tmp_qloop_10)),_mm256_mul_pd(diffusivity_times_delta_dof_2,tmp_qloop_13)),_mm256_mul_pd(diffusivity_times_delta_dof_3,tmp_qloop_16)),_mm256_mul_pd(diffusivity_times_delta_dof_4,tmp_qloop_7)),_mm256_mul_pd(diffusivity_times_delta_dof_5,tmp_qloop_6)),_mm256_mul_pd(diffusivity_times_delta_dof_6,tmp_qloop_5)),_mm256_mul_pd(diffusivity_times_delta_dof_7,tmp_qloop_17)),_mm256_mul_pd(diffusivity_times_delta_dof_8,tmp_qloop_18)),_mm256_mul_pd(diffusivity_times_delta_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP));
+                   const __m256d tmp_qloop_41 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_43 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP));
+                   const __m256d tmp_qloop_47 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP));
+                   const __m256d tmp_qloop_48 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP));
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP));
+                   const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP));
+                   const __m256d tmp_qloop_54 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP));
+                   const __m256d tmp_qloop_55 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP));
+                   const __m256d tmp_qloop_56 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP));
+                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP));
+                   const __m256d tmp_qloop_58 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP));
+                   const __m256d tmp_qloop_59 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP));
+                   const __m256d tmp_qloop_60 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP));
+                   const __m256d tmp_qloop_61 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP));
+                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP));
+                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP));
+                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP));
+                   const __m256d tmp_qloop_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_71 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_72 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_74 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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 q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))))),_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(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP),_mm256_set_pd(tmp_qloop_39,tmp_qloop_39,tmp_qloop_39,tmp_qloop_39))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP),_mm256_set_pd(tmp_qloop_39,tmp_qloop_39,tmp_qloop_39,tmp_qloop_39))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP),_mm256_set_pd(tmp_qloop_39,tmp_qloop_39,tmp_qloop_39,tmp_qloop_39))));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_41),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_41),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_41),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP)))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_42),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_42),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_42),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP)))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_43),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_43),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_43),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_44,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_46,tmp_qloop_47))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_48,tmp_qloop_49)))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP),_mm256_set_pd(tmp_qloop_50,tmp_qloop_50,tmp_qloop_50,tmp_qloop_50)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP),_mm256_set_pd(tmp_qloop_51,tmp_qloop_51,tmp_qloop_51,tmp_qloop_51))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP),_mm256_set_pd(tmp_qloop_52,tmp_qloop_52,tmp_qloop_52,tmp_qloop_52))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_53,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_55,tmp_qloop_56))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_57,tmp_qloop_58)))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP),_mm256_set_pd(tmp_qloop_50,tmp_qloop_50,tmp_qloop_50,tmp_qloop_50)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP),_mm256_set_pd(tmp_qloop_51,tmp_qloop_51,tmp_qloop_51,tmp_qloop_51))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP),_mm256_set_pd(tmp_qloop_52,tmp_qloop_52,tmp_qloop_52,tmp_qloop_52))));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_59,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_61,tmp_qloop_62))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_63,tmp_qloop_64)))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP),_mm256_set_pd(tmp_qloop_65,tmp_qloop_65,tmp_qloop_65,tmp_qloop_65)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP),_mm256_set_pd(tmp_qloop_66,tmp_qloop_66,tmp_qloop_66,tmp_qloop_66))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP),_mm256_set_pd(tmp_qloop_67,tmp_qloop_67,tmp_qloop_67,tmp_qloop_67))));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_54,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))))),_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_50,tmp_qloop_50,tmp_qloop_50,tmp_qloop_50))),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_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_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_51,tmp_qloop_51,tmp_qloop_51,tmp_qloop_51))),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_52,tmp_qloop_52,tmp_qloop_52,tmp_qloop_52))),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_69,tmp_qloop_69,tmp_qloop_69,tmp_qloop_69))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_70,tmp_qloop_70,tmp_qloop_70,tmp_qloop_70))));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)))))),_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_mul_pd(_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_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_65,tmp_qloop_65,tmp_qloop_65,tmp_qloop_65))),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30)),_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(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_66,tmp_qloop_66,tmp_qloop_66,tmp_qloop_66))),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35)),_mm256_mul_pd(_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_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_67,tmp_qloop_67,tmp_qloop_67,tmp_qloop_67))),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_69,tmp_qloop_69,tmp_qloop_69,tmp_qloop_69))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_73,tmp_qloop_73,tmp_qloop_73,tmp_qloop_73))));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_59,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)))))),_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_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(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP))),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35)),_mm256_mul_pd(_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_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_70,tmp_qloop_70,tmp_qloop_70,tmp_qloop_70))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_73,tmp_qloop_73,tmp_qloop_73,tmp_qloop_73))));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_9);
+                }
+                const __m256d elMatDiag_0 = q_acc_0_0;
+                const __m256d elMatDiag_1 = q_acc_1_1;
+                const __m256d elMatDiag_2 = q_acc_2_2;
+                const __m256d elMatDiag_3 = q_acc_3_3;
+                const __m256d elMatDiag_4 = q_acc_4_4;
+                const __m256d elMatDiag_5 = q_acc_5_5;
+                const __m256d elMatDiag_6 = q_acc_6_6;
+                const __m256d elMatDiag_7 = q_acc_7_7;
+                const __m256d elMatDiag_8 = q_acc_8_8;
+                const __m256d elMatDiag_9 = q_acc_9_9;
+                _mm256_storeu_pd(&_data_invDiag_Vertex[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(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_6,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_7,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_8,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_9,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+             }
+             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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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_1_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*wx_dof_1 + tmp_qloop_13*wx_dof_2 + tmp_qloop_16*wx_dof_3 + tmp_qloop_17*wx_dof_7 + tmp_qloop_18*wx_dof_8 + tmp_qloop_20*wx_dof_9 + tmp_qloop_21*wx_dof_0 + tmp_qloop_5*wx_dof_6 + tmp_qloop_6*wx_dof_5 + tmp_qloop_7*wx_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*wy_dof_1 + tmp_qloop_13*wy_dof_2 + tmp_qloop_16*wy_dof_3 + tmp_qloop_17*wy_dof_7 + tmp_qloop_18*wy_dof_8 + tmp_qloop_20*wy_dof_9 + tmp_qloop_21*wy_dof_0 + tmp_qloop_5*wy_dof_6 + tmp_qloop_6*wy_dof_5 + tmp_qloop_7*wy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*wz_dof_1 + tmp_qloop_13*wz_dof_2 + tmp_qloop_16*wz_dof_3 + tmp_qloop_17*wz_dof_7 + tmp_qloop_18*wz_dof_8 + tmp_qloop_20*wz_dof_9 + tmp_qloop_21*wz_dof_0 + tmp_qloop_5*wz_dof_6 + tmp_qloop_6*wz_dof_5 + tmp_qloop_7*wz_dof_4;
+                   const real_t tmp_qloop_40 = abs_det_jac_affine_WHITE_UP*(diffusivity_times_delta_dof_0*tmp_qloop_21 + diffusivity_times_delta_dof_1*tmp_qloop_10 + diffusivity_times_delta_dof_2*tmp_qloop_13 + diffusivity_times_delta_dof_3*tmp_qloop_16 + diffusivity_times_delta_dof_4*tmp_qloop_7 + diffusivity_times_delta_dof_5*tmp_qloop_6 + diffusivity_times_delta_dof_6*tmp_qloop_5 + diffusivity_times_delta_dof_7*tmp_qloop_17 + diffusivity_times_delta_dof_8*tmp_qloop_18 + diffusivity_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_41 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_42 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_43 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_44 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_45 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_46 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_47 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_48 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_49 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_53 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_54 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_55 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_56 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_57 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_58 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_59 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_60 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_61 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_62 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_63 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_64 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_68 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_71 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_72 = -tmp_qloop_1 - tmp_qloop_71 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_74 = -tmp_qloop_2 - tmp_qloop_71 - 8.0*_data_q_p_0[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_4))*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_29 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_34 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_39 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_29 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_34 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_39 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_29 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_34 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_39);
+                   const real_t q_tmp_1_1 = tmp_qloop_40*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP)*4.0 + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP)*4.0 + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)*4.0)*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_22*tmp_qloop_41 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_23*tmp_qloop_41 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_24*tmp_qloop_41);
+                   const real_t q_tmp_2_2 = tmp_qloop_40*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP)*4.0 + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP)*4.0 + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)*4.0)*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_22*tmp_qloop_42 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_23*tmp_qloop_42 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_24*tmp_qloop_42);
+                   const real_t q_tmp_3_3 = tmp_qloop_40*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP)*4.0 + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP)*4.0 + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)*4.0)*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_22*tmp_qloop_43 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_23*tmp_qloop_43 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_24*tmp_qloop_43);
+                   const real_t q_tmp_4_4 = tmp_qloop_40*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_50 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_51 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_52)*(tmp_qloop_22*(tmp_qloop_44 + tmp_qloop_45) + tmp_qloop_23*(tmp_qloop_46 + tmp_qloop_47) + tmp_qloop_24*(tmp_qloop_48 + tmp_qloop_49));
+                   const real_t q_tmp_5_5 = tmp_qloop_40*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_50 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_51 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_52)*(tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58));
+                   const real_t q_tmp_6_6 = tmp_qloop_40*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_65 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_66 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_67)*(tmp_qloop_22*(tmp_qloop_59 + tmp_qloop_60) + tmp_qloop_23*(tmp_qloop_61 + tmp_qloop_62) + tmp_qloop_24*(tmp_qloop_63 + tmp_qloop_64));
+                   const real_t q_tmp_7_7 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_58))*(jac_affine_inv_2_0_WHITE_UP*(-tmp_qloop_28 - tmp_qloop_50) + jac_affine_inv_2_1_WHITE_UP*(-tmp_qloop_33 - tmp_qloop_51) + jac_affine_inv_2_2_WHITE_UP*(-tmp_qloop_38 - tmp_qloop_52) - tmp_qloop_69 - tmp_qloop_70);
+                   const real_t q_tmp_8_8 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_72 - tmp_qloop_44 - tmp_qloop_60) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_72 - tmp_qloop_46 - tmp_qloop_62) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_72 - tmp_qloop_48 - tmp_qloop_64))*(jac_affine_inv_1_0_WHITE_UP*(-tmp_qloop_25 - tmp_qloop_26 - tmp_qloop_65) + jac_affine_inv_1_1_WHITE_UP*(-tmp_qloop_30 - tmp_qloop_31 - tmp_qloop_66) + jac_affine_inv_1_2_WHITE_UP*(-tmp_qloop_35 - tmp_qloop_36 - tmp_qloop_67) - tmp_qloop_69 - tmp_qloop_73);
+                   const real_t q_tmp_9_9 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_74 - tmp_qloop_53 - tmp_qloop_59) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_74 - tmp_qloop_55 - tmp_qloop_61) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_74 - tmp_qloop_57 - tmp_qloop_63))*(jac_affine_inv_0_0_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*-8.0 - tmp_qloop_25 - tmp_qloop_27) + jac_affine_inv_0_1_WHITE_UP*(jac_affine_inv_0_1_WHITE_UP*-8.0 - tmp_qloop_30 - tmp_qloop_32) + jac_affine_inv_0_2_WHITE_UP*(jac_affine_inv_0_2_WHITE_UP*-8.0 - tmp_qloop_35 - tmp_qloop_37) - tmp_qloop_70 - tmp_qloop_73);
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+                }
+                const real_t elMatDiag_0 = q_acc_0_0;
+                const real_t elMatDiag_1 = q_acc_1_1;
+                const real_t elMatDiag_2 = q_acc_2_2;
+                const real_t elMatDiag_3 = q_acc_3_3;
+                const real_t elMatDiag_4 = q_acc_4_4;
+                const real_t elMatDiag_5 = q_acc_5_5;
+                const real_t elMatDiag_6 = q_acc_6_6;
+                const real_t elMatDiag_7 = q_acc_7_7;
+                const real_t elMatDiag_8 = q_acc_8_8;
+                const real_t elMatDiag_9 = q_acc_9_9;
+                _data_invDiag_Vertex[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))] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_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 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_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 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_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 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN;
+       const real_t tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN);
+       const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN);
+       const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN);
+       const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN);
+       const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN);
+       const real_t tmp_moved_constant_0 = jac_affine_inv_2_0_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_1 = jac_affine_inv_0_0_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_2 = jac_affine_inv_1_0_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_3 = tmp_moved_constant_1 + tmp_moved_constant_2;
+       const real_t tmp_moved_constant_4 = tmp_moved_constant_0 + tmp_moved_constant_3;
+       const real_t tmp_moved_constant_5 = jac_affine_inv_2_1_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_6 = jac_affine_inv_0_1_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_7 = jac_affine_inv_1_1_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_8 = tmp_moved_constant_6 + tmp_moved_constant_7;
+       const real_t tmp_moved_constant_9 = tmp_moved_constant_5 + tmp_moved_constant_8;
+       const real_t tmp_moved_constant_10 = jac_affine_inv_2_2_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_11 = jac_affine_inv_0_2_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_12 = jac_affine_inv_1_2_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_13 = tmp_moved_constant_11 + tmp_moved_constant_12;
+       const real_t tmp_moved_constant_14 = tmp_moved_constant_10 + tmp_moved_constant_13;
+       const real_t tmp_moved_constant_15 = jac_affine_inv_2_0_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_16 = jac_affine_inv_2_1_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_17 = jac_affine_inv_2_2_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_18 = jac_affine_inv_1_0_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_19 = jac_affine_inv_1_1_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_20 = jac_affine_inv_1_2_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_21 = jac_affine_inv_2_0_WHITE_DOWN*tmp_moved_constant_2 + jac_affine_inv_2_1_WHITE_DOWN*tmp_moved_constant_7 + jac_affine_inv_2_2_WHITE_DOWN*tmp_moved_constant_12;
+       const real_t tmp_moved_constant_22 = jac_affine_inv_2_0_WHITE_DOWN*tmp_moved_constant_1 + jac_affine_inv_2_1_WHITE_DOWN*tmp_moved_constant_6 + jac_affine_inv_2_2_WHITE_DOWN*tmp_moved_constant_11;
+       const real_t tmp_moved_constant_23 = jac_affine_inv_1_0_WHITE_DOWN*tmp_moved_constant_1 + jac_affine_inv_1_1_WHITE_DOWN*tmp_moved_constant_6 + jac_affine_inv_1_2_WHITE_DOWN*tmp_moved_constant_11;
+       {
+          /* CellType.WHITE_DOWN */
+          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 diffusivity_times_delta_dof_0 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_1 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_2 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_3 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_4 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_5 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_6 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_7 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_8 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_9 = _mm256_loadu_pd(& _data_wxEdge[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 wy_dof_0 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_1 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_2 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_3 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_4 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_5 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_6 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_7 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_8 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_9 = _mm256_loadu_pd(& _data_wyEdge[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 wz_dof_0 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_1 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_2 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_3 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_4 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_5 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_6 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_7 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_8 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_9 = _mm256_loadu_pd(& _data_wzEdge[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_1_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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,wx_dof_1),_mm256_mul_pd(tmp_qloop_13,wx_dof_2)),_mm256_mul_pd(tmp_qloop_16,wx_dof_3)),_mm256_mul_pd(tmp_qloop_17,wx_dof_7)),_mm256_mul_pd(tmp_qloop_18,wx_dof_8)),_mm256_mul_pd(tmp_qloop_20,wx_dof_9)),_mm256_mul_pd(tmp_qloop_21,wx_dof_0)),_mm256_mul_pd(tmp_qloop_5,wx_dof_6)),_mm256_mul_pd(tmp_qloop_6,wx_dof_5)),_mm256_mul_pd(tmp_qloop_7,wx_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,wy_dof_1),_mm256_mul_pd(tmp_qloop_13,wy_dof_2)),_mm256_mul_pd(tmp_qloop_16,wy_dof_3)),_mm256_mul_pd(tmp_qloop_17,wy_dof_7)),_mm256_mul_pd(tmp_qloop_18,wy_dof_8)),_mm256_mul_pd(tmp_qloop_20,wy_dof_9)),_mm256_mul_pd(tmp_qloop_21,wy_dof_0)),_mm256_mul_pd(tmp_qloop_5,wy_dof_6)),_mm256_mul_pd(tmp_qloop_6,wy_dof_5)),_mm256_mul_pd(tmp_qloop_7,wy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,wz_dof_1),_mm256_mul_pd(tmp_qloop_13,wz_dof_2)),_mm256_mul_pd(tmp_qloop_16,wz_dof_3)),_mm256_mul_pd(tmp_qloop_17,wz_dof_7)),_mm256_mul_pd(tmp_qloop_18,wz_dof_8)),_mm256_mul_pd(tmp_qloop_20,wz_dof_9)),_mm256_mul_pd(tmp_qloop_21,wz_dof_0)),_mm256_mul_pd(tmp_qloop_5,wz_dof_6)),_mm256_mul_pd(tmp_qloop_6,wz_dof_5)),_mm256_mul_pd(tmp_qloop_7,wz_dof_4));
+                   const __m256d tmp_qloop_40 = _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(diffusivity_times_delta_dof_0,tmp_qloop_21),_mm256_mul_pd(diffusivity_times_delta_dof_1,tmp_qloop_10)),_mm256_mul_pd(diffusivity_times_delta_dof_2,tmp_qloop_13)),_mm256_mul_pd(diffusivity_times_delta_dof_3,tmp_qloop_16)),_mm256_mul_pd(diffusivity_times_delta_dof_4,tmp_qloop_7)),_mm256_mul_pd(diffusivity_times_delta_dof_5,tmp_qloop_6)),_mm256_mul_pd(diffusivity_times_delta_dof_6,tmp_qloop_5)),_mm256_mul_pd(diffusivity_times_delta_dof_7,tmp_qloop_17)),_mm256_mul_pd(diffusivity_times_delta_dof_8,tmp_qloop_18)),_mm256_mul_pd(diffusivity_times_delta_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN));
+                   const __m256d tmp_qloop_41 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_43 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_47 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_48 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_54 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_55 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_56 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_58 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_59 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_60 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN));
+                   const __m256d tmp_qloop_61 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN));
+                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN));
+                   const __m256d tmp_qloop_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_71 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_72 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_74 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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 q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))))),_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(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN),_mm256_set_pd(tmp_moved_constant_4,tmp_moved_constant_4,tmp_moved_constant_4,tmp_moved_constant_4)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN),_mm256_set_pd(tmp_moved_constant_9,tmp_moved_constant_9,tmp_moved_constant_9,tmp_moved_constant_9))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN),_mm256_set_pd(tmp_moved_constant_14,tmp_moved_constant_14,tmp_moved_constant_14,tmp_moved_constant_14))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN),_mm256_set_pd(tmp_moved_constant_4,tmp_moved_constant_4,tmp_moved_constant_4,tmp_moved_constant_4))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN),_mm256_set_pd(tmp_moved_constant_9,tmp_moved_constant_9,tmp_moved_constant_9,tmp_moved_constant_9))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN),_mm256_set_pd(tmp_moved_constant_14,tmp_moved_constant_14,tmp_moved_constant_14,tmp_moved_constant_14))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN),_mm256_set_pd(tmp_moved_constant_4,tmp_moved_constant_4,tmp_moved_constant_4,tmp_moved_constant_4))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN),_mm256_set_pd(tmp_moved_constant_9,tmp_moved_constant_9,tmp_moved_constant_9,tmp_moved_constant_9))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN),_mm256_set_pd(tmp_moved_constant_14,tmp_moved_constant_14,tmp_moved_constant_14,tmp_moved_constant_14))));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_41),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_41),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_41),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN)))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_42),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_42),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_42),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN)))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_43),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_43),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_43),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_44,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_46,tmp_qloop_47))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_48,tmp_qloop_49)))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN),_mm256_set_pd(tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN),_mm256_set_pd(tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN),_mm256_set_pd(tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_53,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_55,tmp_qloop_56))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_57,tmp_qloop_58)))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN),_mm256_set_pd(tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN),_mm256_set_pd(tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN),_mm256_set_pd(tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17))));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_59,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_61,tmp_qloop_62))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_63,tmp_qloop_64)))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN),_mm256_set_pd(tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN),_mm256_set_pd(tmp_moved_constant_19,tmp_moved_constant_19,tmp_moved_constant_19,tmp_moved_constant_19))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN),_mm256_set_pd(tmp_moved_constant_20,tmp_moved_constant_20,tmp_moved_constant_20,tmp_moved_constant_20))));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_54,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))))),_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_13,tmp_moved_constant_13,tmp_moved_constant_13,tmp_moved_constant_13)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17,tmp_moved_constant_17))),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15,tmp_moved_constant_15)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_3,tmp_moved_constant_3,tmp_moved_constant_3,tmp_moved_constant_3))),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16,tmp_moved_constant_16)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_8,tmp_moved_constant_8,tmp_moved_constant_8,tmp_moved_constant_8))),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_21,tmp_moved_constant_21,tmp_moved_constant_21,tmp_moved_constant_21))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22))));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)))))),_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_0,tmp_moved_constant_0,tmp_moved_constant_0,tmp_moved_constant_0)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_1,tmp_moved_constant_1,tmp_moved_constant_1,tmp_moved_constant_1))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18,tmp_moved_constant_18))),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_10,tmp_moved_constant_10,tmp_moved_constant_10,tmp_moved_constant_10)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_11,tmp_moved_constant_11,tmp_moved_constant_11,tmp_moved_constant_11))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_20,tmp_moved_constant_20,tmp_moved_constant_20,tmp_moved_constant_20))),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_19,tmp_moved_constant_19,tmp_moved_constant_19,tmp_moved_constant_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_5,tmp_moved_constant_5,tmp_moved_constant_5,tmp_moved_constant_5))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_6,tmp_moved_constant_6,tmp_moved_constant_6,tmp_moved_constant_6))),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_21,tmp_moved_constant_21,tmp_moved_constant_21,tmp_moved_constant_21))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23))));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_59,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)))))),_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_0,tmp_moved_constant_0,tmp_moved_constant_0,tmp_moved_constant_0)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_2,tmp_moved_constant_2,tmp_moved_constant_2,tmp_moved_constant_2))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN))),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_10,tmp_moved_constant_10,tmp_moved_constant_10,tmp_moved_constant_10)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_12,tmp_moved_constant_12,tmp_moved_constant_12,tmp_moved_constant_12))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_5,tmp_moved_constant_5,tmp_moved_constant_5,tmp_moved_constant_5)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_7,tmp_moved_constant_7,tmp_moved_constant_7,tmp_moved_constant_7))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22,tmp_moved_constant_22))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23,tmp_moved_constant_23))));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_9);
+                }
+                const __m256d elMatDiag_0 = q_acc_0_0;
+                const __m256d elMatDiag_1 = q_acc_1_1;
+                const __m256d elMatDiag_2 = q_acc_2_2;
+                const __m256d elMatDiag_3 = q_acc_3_3;
+                const __m256d elMatDiag_4 = q_acc_4_4;
+                const __m256d elMatDiag_5 = q_acc_5_5;
+                const __m256d elMatDiag_6 = q_acc_6_6;
+                const __m256d elMatDiag_7 = q_acc_7_7;
+                const __m256d elMatDiag_8 = q_acc_8_8;
+                const __m256d elMatDiag_9 = q_acc_9_9;
+                _mm256_storeu_pd(&_data_invDiag_Vertex[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(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_Vertex[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_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_6,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_7,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_8,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_9,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+             }
+             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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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_1_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*wx_dof_1 + tmp_qloop_13*wx_dof_2 + tmp_qloop_16*wx_dof_3 + tmp_qloop_17*wx_dof_7 + tmp_qloop_18*wx_dof_8 + tmp_qloop_20*wx_dof_9 + tmp_qloop_21*wx_dof_0 + tmp_qloop_5*wx_dof_6 + tmp_qloop_6*wx_dof_5 + tmp_qloop_7*wx_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*wy_dof_1 + tmp_qloop_13*wy_dof_2 + tmp_qloop_16*wy_dof_3 + tmp_qloop_17*wy_dof_7 + tmp_qloop_18*wy_dof_8 + tmp_qloop_20*wy_dof_9 + tmp_qloop_21*wy_dof_0 + tmp_qloop_5*wy_dof_6 + tmp_qloop_6*wy_dof_5 + tmp_qloop_7*wy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*wz_dof_1 + tmp_qloop_13*wz_dof_2 + tmp_qloop_16*wz_dof_3 + tmp_qloop_17*wz_dof_7 + tmp_qloop_18*wz_dof_8 + tmp_qloop_20*wz_dof_9 + tmp_qloop_21*wz_dof_0 + tmp_qloop_5*wz_dof_6 + tmp_qloop_6*wz_dof_5 + tmp_qloop_7*wz_dof_4;
+                   const real_t tmp_qloop_40 = abs_det_jac_affine_WHITE_DOWN*(diffusivity_times_delta_dof_0*tmp_qloop_21 + diffusivity_times_delta_dof_1*tmp_qloop_10 + diffusivity_times_delta_dof_2*tmp_qloop_13 + diffusivity_times_delta_dof_3*tmp_qloop_16 + diffusivity_times_delta_dof_4*tmp_qloop_7 + diffusivity_times_delta_dof_5*tmp_qloop_6 + diffusivity_times_delta_dof_6*tmp_qloop_5 + diffusivity_times_delta_dof_7*tmp_qloop_17 + diffusivity_times_delta_dof_8*tmp_qloop_18 + diffusivity_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_41 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_42 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_43 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_44 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_45 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_46 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_47 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_48 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_49 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_53 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_54 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_55 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_56 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_57 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_58 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_59 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_60 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_61 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_62 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_63 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_64 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_68 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_71 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_72 = -tmp_qloop_1 - tmp_qloop_71 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_74 = -tmp_qloop_2 - tmp_qloop_71 - 8.0*_data_q_p_0[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_4))*(jac_affine_inv_0_0_WHITE_DOWN*tmp_moved_constant_4 + jac_affine_inv_0_1_WHITE_DOWN*tmp_moved_constant_9 + jac_affine_inv_0_2_WHITE_DOWN*tmp_moved_constant_14 + jac_affine_inv_1_0_WHITE_DOWN*tmp_moved_constant_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_moved_constant_9 + jac_affine_inv_1_2_WHITE_DOWN*tmp_moved_constant_14 + jac_affine_inv_2_0_WHITE_DOWN*tmp_moved_constant_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_moved_constant_9 + jac_affine_inv_2_2_WHITE_DOWN*tmp_moved_constant_14);
+                   const real_t q_tmp_1_1 = tmp_qloop_40*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN)*4.0 + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN)*4.0 + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)*4.0)*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_41 + jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_41 + jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_41);
+                   const real_t q_tmp_2_2 = tmp_qloop_40*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN)*4.0 + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN)*4.0 + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)*4.0)*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_42 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_42 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_42);
+                   const real_t q_tmp_3_3 = tmp_qloop_40*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN)*4.0 + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN)*4.0 + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)*4.0)*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_43 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_43 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_43);
+                   const real_t q_tmp_4_4 = tmp_qloop_40*(jac_affine_inv_1_0_WHITE_DOWN*tmp_moved_constant_15 + jac_affine_inv_1_1_WHITE_DOWN*tmp_moved_constant_16 + jac_affine_inv_1_2_WHITE_DOWN*tmp_moved_constant_17)*(tmp_qloop_22*(tmp_qloop_44 + tmp_qloop_45) + tmp_qloop_23*(tmp_qloop_46 + tmp_qloop_47) + tmp_qloop_24*(tmp_qloop_48 + tmp_qloop_49));
+                   const real_t q_tmp_5_5 = tmp_qloop_40*(jac_affine_inv_0_0_WHITE_DOWN*tmp_moved_constant_15 + jac_affine_inv_0_1_WHITE_DOWN*tmp_moved_constant_16 + jac_affine_inv_0_2_WHITE_DOWN*tmp_moved_constant_17)*(tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58));
+                   const real_t q_tmp_6_6 = tmp_qloop_40*(jac_affine_inv_0_0_WHITE_DOWN*tmp_moved_constant_18 + jac_affine_inv_0_1_WHITE_DOWN*tmp_moved_constant_19 + jac_affine_inv_0_2_WHITE_DOWN*tmp_moved_constant_20)*(tmp_qloop_22*(tmp_qloop_59 + tmp_qloop_60) + tmp_qloop_23*(tmp_qloop_61 + tmp_qloop_62) + tmp_qloop_24*(tmp_qloop_63 + tmp_qloop_64));
+                   const real_t q_tmp_7_7 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_58))*(jac_affine_inv_2_0_WHITE_DOWN*(-tmp_moved_constant_15 - tmp_moved_constant_3) + jac_affine_inv_2_1_WHITE_DOWN*(-tmp_moved_constant_16 - tmp_moved_constant_8) + jac_affine_inv_2_2_WHITE_DOWN*(-tmp_moved_constant_13 - tmp_moved_constant_17) - tmp_moved_constant_21 - tmp_moved_constant_22);
+                   const real_t q_tmp_8_8 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_72 - tmp_qloop_44 - tmp_qloop_60) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_72 - tmp_qloop_46 - tmp_qloop_62) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_72 - tmp_qloop_48 - tmp_qloop_64))*(jac_affine_inv_1_0_WHITE_DOWN*(-tmp_moved_constant_0 - tmp_moved_constant_1 - tmp_moved_constant_18) + jac_affine_inv_1_1_WHITE_DOWN*(-tmp_moved_constant_19 - tmp_moved_constant_5 - tmp_moved_constant_6) + jac_affine_inv_1_2_WHITE_DOWN*(-tmp_moved_constant_10 - tmp_moved_constant_11 - tmp_moved_constant_20) - tmp_moved_constant_21 - tmp_moved_constant_23);
+                   const real_t q_tmp_9_9 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_74 - tmp_qloop_53 - tmp_qloop_59) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_74 - tmp_qloop_55 - tmp_qloop_61) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_74 - tmp_qloop_57 - tmp_qloop_63))*(jac_affine_inv_0_0_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*-8.0 - tmp_moved_constant_0 - tmp_moved_constant_2) + jac_affine_inv_0_1_WHITE_DOWN*(jac_affine_inv_0_1_WHITE_DOWN*-8.0 - tmp_moved_constant_5 - tmp_moved_constant_7) + jac_affine_inv_0_2_WHITE_DOWN*(jac_affine_inv_0_2_WHITE_DOWN*-8.0 - tmp_moved_constant_10 - tmp_moved_constant_12) - tmp_moved_constant_22 - tmp_moved_constant_23);
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+                }
+                const real_t elMatDiag_0 = q_acc_0_0;
+                const real_t elMatDiag_1 = q_acc_1_1;
+                const real_t elMatDiag_2 = q_acc_2_2;
+                const real_t elMatDiag_3 = q_acc_3_3;
+                const real_t elMatDiag_4 = q_acc_4_4;
+                const real_t elMatDiag_5 = q_acc_5_5;
+                const real_t elMatDiag_6 = q_acc_6_6;
+                const real_t elMatDiag_7 = q_acc_7_7;
+                const real_t elMatDiag_8 = q_acc_8_8;
+                const real_t elMatDiag_9 = q_acc_9_9;
+                _data_invDiag_Vertex[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] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_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 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_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 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_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 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP;
+       const real_t tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP);
+       const real_t jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP);
+       const real_t jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP);
+       const real_t jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP);
+       const real_t jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP);
+       const real_t tmp_moved_constant_24 = jac_affine_inv_2_0_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_25 = jac_affine_inv_0_0_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_26 = jac_affine_inv_1_0_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_27 = tmp_moved_constant_25 + tmp_moved_constant_26;
+       const real_t tmp_moved_constant_28 = tmp_moved_constant_24 + tmp_moved_constant_27;
+       const real_t tmp_moved_constant_29 = jac_affine_inv_2_1_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_30 = jac_affine_inv_0_1_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_31 = jac_affine_inv_1_1_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_32 = tmp_moved_constant_30 + tmp_moved_constant_31;
+       const real_t tmp_moved_constant_33 = tmp_moved_constant_29 + tmp_moved_constant_32;
+       const real_t tmp_moved_constant_34 = jac_affine_inv_2_2_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_35 = jac_affine_inv_0_2_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_36 = jac_affine_inv_1_2_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_37 = tmp_moved_constant_35 + tmp_moved_constant_36;
+       const real_t tmp_moved_constant_38 = tmp_moved_constant_34 + tmp_moved_constant_37;
+       const real_t tmp_moved_constant_39 = jac_affine_inv_2_0_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_40 = jac_affine_inv_2_1_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_41 = jac_affine_inv_2_2_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_42 = jac_affine_inv_1_0_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_43 = jac_affine_inv_1_1_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_44 = jac_affine_inv_1_2_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_45 = jac_affine_inv_2_0_BLUE_UP*tmp_moved_constant_26 + jac_affine_inv_2_1_BLUE_UP*tmp_moved_constant_31 + jac_affine_inv_2_2_BLUE_UP*tmp_moved_constant_36;
+       const real_t tmp_moved_constant_46 = jac_affine_inv_2_0_BLUE_UP*tmp_moved_constant_25 + jac_affine_inv_2_1_BLUE_UP*tmp_moved_constant_30 + jac_affine_inv_2_2_BLUE_UP*tmp_moved_constant_35;
+       const real_t tmp_moved_constant_47 = jac_affine_inv_1_0_BLUE_UP*tmp_moved_constant_25 + jac_affine_inv_1_1_BLUE_UP*tmp_moved_constant_30 + jac_affine_inv_1_2_BLUE_UP*tmp_moved_constant_35;
+       {
+          /* CellType.BLUE_UP */
+          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 diffusivity_times_delta_dof_0 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_1 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_2 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_3 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_4 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_5 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_6 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_7 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_8 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_9 = _mm256_loadu_pd(& _data_wxEdge[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 wy_dof_0 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_1 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_2 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_3 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_4 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_5 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_6 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_7 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_8 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_9 = _mm256_loadu_pd(& _data_wyEdge[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 wz_dof_0 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_1 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_2 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_3 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_4 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_5 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_6 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_7 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_8 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_9 = _mm256_loadu_pd(& _data_wzEdge[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_1_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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,wx_dof_1),_mm256_mul_pd(tmp_qloop_13,wx_dof_2)),_mm256_mul_pd(tmp_qloop_16,wx_dof_3)),_mm256_mul_pd(tmp_qloop_17,wx_dof_7)),_mm256_mul_pd(tmp_qloop_18,wx_dof_8)),_mm256_mul_pd(tmp_qloop_20,wx_dof_9)),_mm256_mul_pd(tmp_qloop_21,wx_dof_0)),_mm256_mul_pd(tmp_qloop_5,wx_dof_6)),_mm256_mul_pd(tmp_qloop_6,wx_dof_5)),_mm256_mul_pd(tmp_qloop_7,wx_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,wy_dof_1),_mm256_mul_pd(tmp_qloop_13,wy_dof_2)),_mm256_mul_pd(tmp_qloop_16,wy_dof_3)),_mm256_mul_pd(tmp_qloop_17,wy_dof_7)),_mm256_mul_pd(tmp_qloop_18,wy_dof_8)),_mm256_mul_pd(tmp_qloop_20,wy_dof_9)),_mm256_mul_pd(tmp_qloop_21,wy_dof_0)),_mm256_mul_pd(tmp_qloop_5,wy_dof_6)),_mm256_mul_pd(tmp_qloop_6,wy_dof_5)),_mm256_mul_pd(tmp_qloop_7,wy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,wz_dof_1),_mm256_mul_pd(tmp_qloop_13,wz_dof_2)),_mm256_mul_pd(tmp_qloop_16,wz_dof_3)),_mm256_mul_pd(tmp_qloop_17,wz_dof_7)),_mm256_mul_pd(tmp_qloop_18,wz_dof_8)),_mm256_mul_pd(tmp_qloop_20,wz_dof_9)),_mm256_mul_pd(tmp_qloop_21,wz_dof_0)),_mm256_mul_pd(tmp_qloop_5,wz_dof_6)),_mm256_mul_pd(tmp_qloop_6,wz_dof_5)),_mm256_mul_pd(tmp_qloop_7,wz_dof_4));
+                   const __m256d tmp_qloop_40 = _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(diffusivity_times_delta_dof_0,tmp_qloop_21),_mm256_mul_pd(diffusivity_times_delta_dof_1,tmp_qloop_10)),_mm256_mul_pd(diffusivity_times_delta_dof_2,tmp_qloop_13)),_mm256_mul_pd(diffusivity_times_delta_dof_3,tmp_qloop_16)),_mm256_mul_pd(diffusivity_times_delta_dof_4,tmp_qloop_7)),_mm256_mul_pd(diffusivity_times_delta_dof_5,tmp_qloop_6)),_mm256_mul_pd(diffusivity_times_delta_dof_6,tmp_qloop_5)),_mm256_mul_pd(diffusivity_times_delta_dof_7,tmp_qloop_17)),_mm256_mul_pd(diffusivity_times_delta_dof_8,tmp_qloop_18)),_mm256_mul_pd(diffusivity_times_delta_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP));
+                   const __m256d tmp_qloop_41 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_43 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP));
+                   const __m256d tmp_qloop_47 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP));
+                   const __m256d tmp_qloop_48 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP));
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP));
+                   const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP));
+                   const __m256d tmp_qloop_54 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP));
+                   const __m256d tmp_qloop_55 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP));
+                   const __m256d tmp_qloop_56 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP));
+                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP));
+                   const __m256d tmp_qloop_58 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP));
+                   const __m256d tmp_qloop_59 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP));
+                   const __m256d tmp_qloop_60 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP));
+                   const __m256d tmp_qloop_61 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP));
+                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP));
+                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP));
+                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP));
+                   const __m256d tmp_qloop_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_71 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_72 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_74 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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 q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))))),_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(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP),_mm256_set_pd(tmp_moved_constant_28,tmp_moved_constant_28,tmp_moved_constant_28,tmp_moved_constant_28)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP),_mm256_set_pd(tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP),_mm256_set_pd(tmp_moved_constant_38,tmp_moved_constant_38,tmp_moved_constant_38,tmp_moved_constant_38))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP),_mm256_set_pd(tmp_moved_constant_28,tmp_moved_constant_28,tmp_moved_constant_28,tmp_moved_constant_28))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP),_mm256_set_pd(tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP),_mm256_set_pd(tmp_moved_constant_38,tmp_moved_constant_38,tmp_moved_constant_38,tmp_moved_constant_38))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP),_mm256_set_pd(tmp_moved_constant_28,tmp_moved_constant_28,tmp_moved_constant_28,tmp_moved_constant_28))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP),_mm256_set_pd(tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33,tmp_moved_constant_33))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP),_mm256_set_pd(tmp_moved_constant_38,tmp_moved_constant_38,tmp_moved_constant_38,tmp_moved_constant_38))));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_41),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_41),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_41),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP)))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_42),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_42),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_42),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP)))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_43),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_43),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_43),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_44,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_46,tmp_qloop_47))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_48,tmp_qloop_49)))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP),_mm256_set_pd(tmp_moved_constant_39,tmp_moved_constant_39,tmp_moved_constant_39,tmp_moved_constant_39)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP),_mm256_set_pd(tmp_moved_constant_40,tmp_moved_constant_40,tmp_moved_constant_40,tmp_moved_constant_40))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP),_mm256_set_pd(tmp_moved_constant_41,tmp_moved_constant_41,tmp_moved_constant_41,tmp_moved_constant_41))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_53,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_55,tmp_qloop_56))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_57,tmp_qloop_58)))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP),_mm256_set_pd(tmp_moved_constant_39,tmp_moved_constant_39,tmp_moved_constant_39,tmp_moved_constant_39)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP),_mm256_set_pd(tmp_moved_constant_40,tmp_moved_constant_40,tmp_moved_constant_40,tmp_moved_constant_40))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP),_mm256_set_pd(tmp_moved_constant_41,tmp_moved_constant_41,tmp_moved_constant_41,tmp_moved_constant_41))));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_59,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_61,tmp_qloop_62))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_63,tmp_qloop_64)))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP),_mm256_set_pd(tmp_moved_constant_42,tmp_moved_constant_42,tmp_moved_constant_42,tmp_moved_constant_42)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP),_mm256_set_pd(tmp_moved_constant_43,tmp_moved_constant_43,tmp_moved_constant_43,tmp_moved_constant_43))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP),_mm256_set_pd(tmp_moved_constant_44,tmp_moved_constant_44,tmp_moved_constant_44,tmp_moved_constant_44))));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_54,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))))),_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27,tmp_moved_constant_27)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_39,tmp_moved_constant_39,tmp_moved_constant_39,tmp_moved_constant_39))),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32,tmp_moved_constant_32)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_40,tmp_moved_constant_40,tmp_moved_constant_40,tmp_moved_constant_40))),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_37,tmp_moved_constant_37,tmp_moved_constant_37,tmp_moved_constant_37)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_41,tmp_moved_constant_41,tmp_moved_constant_41,tmp_moved_constant_41))),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_45,tmp_moved_constant_45,tmp_moved_constant_45,tmp_moved_constant_45))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_46,tmp_moved_constant_46,tmp_moved_constant_46,tmp_moved_constant_46))));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)))))),_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_24,tmp_moved_constant_24,tmp_moved_constant_24,tmp_moved_constant_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_25,tmp_moved_constant_25,tmp_moved_constant_25,tmp_moved_constant_25))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_42,tmp_moved_constant_42,tmp_moved_constant_42,tmp_moved_constant_42))),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_29,tmp_moved_constant_29,tmp_moved_constant_29,tmp_moved_constant_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30,tmp_moved_constant_30))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_43,tmp_moved_constant_43,tmp_moved_constant_43,tmp_moved_constant_43))),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_34,tmp_moved_constant_34,tmp_moved_constant_34,tmp_moved_constant_34)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_35,tmp_moved_constant_35,tmp_moved_constant_35,tmp_moved_constant_35))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_44,tmp_moved_constant_44,tmp_moved_constant_44,tmp_moved_constant_44))),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_45,tmp_moved_constant_45,tmp_moved_constant_45,tmp_moved_constant_45))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_47,tmp_moved_constant_47,tmp_moved_constant_47,tmp_moved_constant_47))));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_59,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)))))),_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_24,tmp_moved_constant_24,tmp_moved_constant_24,tmp_moved_constant_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_26,tmp_moved_constant_26,tmp_moved_constant_26,tmp_moved_constant_26))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP))),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_29,tmp_moved_constant_29,tmp_moved_constant_29,tmp_moved_constant_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_31,tmp_moved_constant_31,tmp_moved_constant_31,tmp_moved_constant_31))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_34,tmp_moved_constant_34,tmp_moved_constant_34,tmp_moved_constant_34)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_36,tmp_moved_constant_36,tmp_moved_constant_36,tmp_moved_constant_36))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_46,tmp_moved_constant_46,tmp_moved_constant_46,tmp_moved_constant_46))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_47,tmp_moved_constant_47,tmp_moved_constant_47,tmp_moved_constant_47))));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_9);
+                }
+                const __m256d elMatDiag_0 = q_acc_0_0;
+                const __m256d elMatDiag_1 = q_acc_1_1;
+                const __m256d elMatDiag_2 = q_acc_2_2;
+                const __m256d elMatDiag_3 = q_acc_3_3;
+                const __m256d elMatDiag_4 = q_acc_4_4;
+                const __m256d elMatDiag_5 = q_acc_5_5;
+                const __m256d elMatDiag_6 = q_acc_6_6;
+                const __m256d elMatDiag_7 = q_acc_7_7;
+                const __m256d elMatDiag_8 = q_acc_8_8;
+                const __m256d elMatDiag_9 = q_acc_9_9;
+                _mm256_storeu_pd(&_data_invDiag_Vertex[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(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Edge[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],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_6,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_7,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_8,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_9,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+             }
+             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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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_1_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*wx_dof_1 + tmp_qloop_13*wx_dof_2 + tmp_qloop_16*wx_dof_3 + tmp_qloop_17*wx_dof_7 + tmp_qloop_18*wx_dof_8 + tmp_qloop_20*wx_dof_9 + tmp_qloop_21*wx_dof_0 + tmp_qloop_5*wx_dof_6 + tmp_qloop_6*wx_dof_5 + tmp_qloop_7*wx_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*wy_dof_1 + tmp_qloop_13*wy_dof_2 + tmp_qloop_16*wy_dof_3 + tmp_qloop_17*wy_dof_7 + tmp_qloop_18*wy_dof_8 + tmp_qloop_20*wy_dof_9 + tmp_qloop_21*wy_dof_0 + tmp_qloop_5*wy_dof_6 + tmp_qloop_6*wy_dof_5 + tmp_qloop_7*wy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*wz_dof_1 + tmp_qloop_13*wz_dof_2 + tmp_qloop_16*wz_dof_3 + tmp_qloop_17*wz_dof_7 + tmp_qloop_18*wz_dof_8 + tmp_qloop_20*wz_dof_9 + tmp_qloop_21*wz_dof_0 + tmp_qloop_5*wz_dof_6 + tmp_qloop_6*wz_dof_5 + tmp_qloop_7*wz_dof_4;
+                   const real_t tmp_qloop_40 = abs_det_jac_affine_BLUE_UP*(diffusivity_times_delta_dof_0*tmp_qloop_21 + diffusivity_times_delta_dof_1*tmp_qloop_10 + diffusivity_times_delta_dof_2*tmp_qloop_13 + diffusivity_times_delta_dof_3*tmp_qloop_16 + diffusivity_times_delta_dof_4*tmp_qloop_7 + diffusivity_times_delta_dof_5*tmp_qloop_6 + diffusivity_times_delta_dof_6*tmp_qloop_5 + diffusivity_times_delta_dof_7*tmp_qloop_17 + diffusivity_times_delta_dof_8*tmp_qloop_18 + diffusivity_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_41 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_42 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_43 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_44 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_45 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_46 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_47 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_48 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_49 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_53 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_54 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_55 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_56 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_57 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_58 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_59 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_60 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_61 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_62 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_63 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_64 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_68 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_71 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_72 = -tmp_qloop_1 - tmp_qloop_71 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_74 = -tmp_qloop_2 - tmp_qloop_71 - 8.0*_data_q_p_0[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_4))*(jac_affine_inv_0_0_BLUE_UP*tmp_moved_constant_28 + jac_affine_inv_0_1_BLUE_UP*tmp_moved_constant_33 + jac_affine_inv_0_2_BLUE_UP*tmp_moved_constant_38 + jac_affine_inv_1_0_BLUE_UP*tmp_moved_constant_28 + jac_affine_inv_1_1_BLUE_UP*tmp_moved_constant_33 + jac_affine_inv_1_2_BLUE_UP*tmp_moved_constant_38 + jac_affine_inv_2_0_BLUE_UP*tmp_moved_constant_28 + jac_affine_inv_2_1_BLUE_UP*tmp_moved_constant_33 + jac_affine_inv_2_2_BLUE_UP*tmp_moved_constant_38);
+                   const real_t q_tmp_1_1 = tmp_qloop_40*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP)*4.0 + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP)*4.0 + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)*4.0)*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_22*tmp_qloop_41 + jac_affine_inv_0_1_BLUE_UP*tmp_qloop_23*tmp_qloop_41 + jac_affine_inv_0_2_BLUE_UP*tmp_qloop_24*tmp_qloop_41);
+                   const real_t q_tmp_2_2 = tmp_qloop_40*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP)*4.0 + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP)*4.0 + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)*4.0)*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_22*tmp_qloop_42 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_23*tmp_qloop_42 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_24*tmp_qloop_42);
+                   const real_t q_tmp_3_3 = tmp_qloop_40*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP)*4.0 + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP)*4.0 + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)*4.0)*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_22*tmp_qloop_43 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_23*tmp_qloop_43 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_24*tmp_qloop_43);
+                   const real_t q_tmp_4_4 = tmp_qloop_40*(jac_affine_inv_1_0_BLUE_UP*tmp_moved_constant_39 + jac_affine_inv_1_1_BLUE_UP*tmp_moved_constant_40 + jac_affine_inv_1_2_BLUE_UP*tmp_moved_constant_41)*(tmp_qloop_22*(tmp_qloop_44 + tmp_qloop_45) + tmp_qloop_23*(tmp_qloop_46 + tmp_qloop_47) + tmp_qloop_24*(tmp_qloop_48 + tmp_qloop_49));
+                   const real_t q_tmp_5_5 = tmp_qloop_40*(jac_affine_inv_0_0_BLUE_UP*tmp_moved_constant_39 + jac_affine_inv_0_1_BLUE_UP*tmp_moved_constant_40 + jac_affine_inv_0_2_BLUE_UP*tmp_moved_constant_41)*(tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58));
+                   const real_t q_tmp_6_6 = tmp_qloop_40*(jac_affine_inv_0_0_BLUE_UP*tmp_moved_constant_42 + jac_affine_inv_0_1_BLUE_UP*tmp_moved_constant_43 + jac_affine_inv_0_2_BLUE_UP*tmp_moved_constant_44)*(tmp_qloop_22*(tmp_qloop_59 + tmp_qloop_60) + tmp_qloop_23*(tmp_qloop_61 + tmp_qloop_62) + tmp_qloop_24*(tmp_qloop_63 + tmp_qloop_64));
+                   const real_t q_tmp_7_7 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_58))*(jac_affine_inv_2_0_BLUE_UP*(-tmp_moved_constant_27 - tmp_moved_constant_39) + jac_affine_inv_2_1_BLUE_UP*(-tmp_moved_constant_32 - tmp_moved_constant_40) + jac_affine_inv_2_2_BLUE_UP*(-tmp_moved_constant_37 - tmp_moved_constant_41) - tmp_moved_constant_45 - tmp_moved_constant_46);
+                   const real_t q_tmp_8_8 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_72 - tmp_qloop_44 - tmp_qloop_60) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_72 - tmp_qloop_46 - tmp_qloop_62) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_72 - tmp_qloop_48 - tmp_qloop_64))*(jac_affine_inv_1_0_BLUE_UP*(-tmp_moved_constant_24 - tmp_moved_constant_25 - tmp_moved_constant_42) + jac_affine_inv_1_1_BLUE_UP*(-tmp_moved_constant_29 - tmp_moved_constant_30 - tmp_moved_constant_43) + jac_affine_inv_1_2_BLUE_UP*(-tmp_moved_constant_34 - tmp_moved_constant_35 - tmp_moved_constant_44) - tmp_moved_constant_45 - tmp_moved_constant_47);
+                   const real_t q_tmp_9_9 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_74 - tmp_qloop_53 - tmp_qloop_59) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_74 - tmp_qloop_55 - tmp_qloop_61) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_74 - tmp_qloop_57 - tmp_qloop_63))*(jac_affine_inv_0_0_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*-8.0 - tmp_moved_constant_24 - tmp_moved_constant_26) + jac_affine_inv_0_1_BLUE_UP*(jac_affine_inv_0_1_BLUE_UP*-8.0 - tmp_moved_constant_29 - tmp_moved_constant_31) + jac_affine_inv_0_2_BLUE_UP*(jac_affine_inv_0_2_BLUE_UP*-8.0 - tmp_moved_constant_34 - tmp_moved_constant_36) - tmp_moved_constant_46 - tmp_moved_constant_47);
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+                }
+                const real_t elMatDiag_0 = q_acc_0_0;
+                const real_t elMatDiag_1 = q_acc_1_1;
+                const real_t elMatDiag_2 = q_acc_2_2;
+                const real_t elMatDiag_3 = q_acc_3_3;
+                const real_t elMatDiag_4 = q_acc_4_4;
+                const real_t elMatDiag_5 = q_acc_5_5;
+                const real_t elMatDiag_6 = q_acc_6_6;
+                const real_t elMatDiag_7 = q_acc_7_7;
+                const real_t elMatDiag_8 = q_acc_8_8;
+                const real_t elMatDiag_9 = q_acc_9_9;
+                _data_invDiag_Vertex[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] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_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 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN;
+       const real_t tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN);
+       const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN);
+       const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN);
+       const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN);
+       const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN);
+       const real_t tmp_moved_constant_48 = jac_affine_inv_2_0_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_49 = jac_affine_inv_0_0_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_50 = jac_affine_inv_1_0_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_51 = tmp_moved_constant_49 + tmp_moved_constant_50;
+       const real_t tmp_moved_constant_52 = tmp_moved_constant_48 + tmp_moved_constant_51;
+       const real_t tmp_moved_constant_53 = jac_affine_inv_2_1_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_54 = jac_affine_inv_0_1_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_55 = jac_affine_inv_1_1_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_56 = tmp_moved_constant_54 + tmp_moved_constant_55;
+       const real_t tmp_moved_constant_57 = tmp_moved_constant_53 + tmp_moved_constant_56;
+       const real_t tmp_moved_constant_58 = jac_affine_inv_2_2_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_59 = jac_affine_inv_0_2_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_60 = jac_affine_inv_1_2_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_61 = tmp_moved_constant_59 + tmp_moved_constant_60;
+       const real_t tmp_moved_constant_62 = tmp_moved_constant_58 + tmp_moved_constant_61;
+       const real_t tmp_moved_constant_63 = jac_affine_inv_2_0_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_64 = jac_affine_inv_2_1_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_65 = jac_affine_inv_2_2_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_66 = jac_affine_inv_1_0_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_67 = jac_affine_inv_1_1_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_68 = jac_affine_inv_1_2_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_69 = jac_affine_inv_2_0_BLUE_DOWN*tmp_moved_constant_50 + jac_affine_inv_2_1_BLUE_DOWN*tmp_moved_constant_55 + jac_affine_inv_2_2_BLUE_DOWN*tmp_moved_constant_60;
+       const real_t tmp_moved_constant_70 = jac_affine_inv_2_0_BLUE_DOWN*tmp_moved_constant_49 + jac_affine_inv_2_1_BLUE_DOWN*tmp_moved_constant_54 + jac_affine_inv_2_2_BLUE_DOWN*tmp_moved_constant_59;
+       const real_t tmp_moved_constant_71 = jac_affine_inv_1_0_BLUE_DOWN*tmp_moved_constant_49 + jac_affine_inv_1_1_BLUE_DOWN*tmp_moved_constant_54 + jac_affine_inv_1_2_BLUE_DOWN*tmp_moved_constant_59;
+       {
+          /* CellType.BLUE_DOWN */
+          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 diffusivity_times_delta_dof_0 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_1 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_2 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_3 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_4 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_5 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_6 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_7 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_8 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_9 = _mm256_loadu_pd(& _data_wxEdge[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 wy_dof_0 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_1 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_2 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_3 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_4 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_5 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_6 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_7 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_8 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_9 = _mm256_loadu_pd(& _data_wyEdge[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 wz_dof_0 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_1 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_2 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_3 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_4 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_5 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_6 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_7 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_8 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_9 = _mm256_loadu_pd(& _data_wzEdge[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_1_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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,wx_dof_1),_mm256_mul_pd(tmp_qloop_13,wx_dof_2)),_mm256_mul_pd(tmp_qloop_16,wx_dof_3)),_mm256_mul_pd(tmp_qloop_17,wx_dof_7)),_mm256_mul_pd(tmp_qloop_18,wx_dof_8)),_mm256_mul_pd(tmp_qloop_20,wx_dof_9)),_mm256_mul_pd(tmp_qloop_21,wx_dof_0)),_mm256_mul_pd(tmp_qloop_5,wx_dof_6)),_mm256_mul_pd(tmp_qloop_6,wx_dof_5)),_mm256_mul_pd(tmp_qloop_7,wx_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,wy_dof_1),_mm256_mul_pd(tmp_qloop_13,wy_dof_2)),_mm256_mul_pd(tmp_qloop_16,wy_dof_3)),_mm256_mul_pd(tmp_qloop_17,wy_dof_7)),_mm256_mul_pd(tmp_qloop_18,wy_dof_8)),_mm256_mul_pd(tmp_qloop_20,wy_dof_9)),_mm256_mul_pd(tmp_qloop_21,wy_dof_0)),_mm256_mul_pd(tmp_qloop_5,wy_dof_6)),_mm256_mul_pd(tmp_qloop_6,wy_dof_5)),_mm256_mul_pd(tmp_qloop_7,wy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,wz_dof_1),_mm256_mul_pd(tmp_qloop_13,wz_dof_2)),_mm256_mul_pd(tmp_qloop_16,wz_dof_3)),_mm256_mul_pd(tmp_qloop_17,wz_dof_7)),_mm256_mul_pd(tmp_qloop_18,wz_dof_8)),_mm256_mul_pd(tmp_qloop_20,wz_dof_9)),_mm256_mul_pd(tmp_qloop_21,wz_dof_0)),_mm256_mul_pd(tmp_qloop_5,wz_dof_6)),_mm256_mul_pd(tmp_qloop_6,wz_dof_5)),_mm256_mul_pd(tmp_qloop_7,wz_dof_4));
+                   const __m256d tmp_qloop_40 = _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(diffusivity_times_delta_dof_0,tmp_qloop_21),_mm256_mul_pd(diffusivity_times_delta_dof_1,tmp_qloop_10)),_mm256_mul_pd(diffusivity_times_delta_dof_2,tmp_qloop_13)),_mm256_mul_pd(diffusivity_times_delta_dof_3,tmp_qloop_16)),_mm256_mul_pd(diffusivity_times_delta_dof_4,tmp_qloop_7)),_mm256_mul_pd(diffusivity_times_delta_dof_5,tmp_qloop_6)),_mm256_mul_pd(diffusivity_times_delta_dof_6,tmp_qloop_5)),_mm256_mul_pd(diffusivity_times_delta_dof_7,tmp_qloop_17)),_mm256_mul_pd(diffusivity_times_delta_dof_8,tmp_qloop_18)),_mm256_mul_pd(diffusivity_times_delta_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN));
+                   const __m256d tmp_qloop_41 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_43 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_47 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_48 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_54 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_55 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_56 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_58 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_59 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_60 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN));
+                   const __m256d tmp_qloop_61 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN));
+                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN));
+                   const __m256d tmp_qloop_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_71 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_72 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_74 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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 q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))))),_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(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN),_mm256_set_pd(tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN),_mm256_set_pd(tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN),_mm256_set_pd(tmp_moved_constant_62,tmp_moved_constant_62,tmp_moved_constant_62,tmp_moved_constant_62))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN),_mm256_set_pd(tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN),_mm256_set_pd(tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN),_mm256_set_pd(tmp_moved_constant_62,tmp_moved_constant_62,tmp_moved_constant_62,tmp_moved_constant_62))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN),_mm256_set_pd(tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52,tmp_moved_constant_52))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN),_mm256_set_pd(tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57,tmp_moved_constant_57))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN),_mm256_set_pd(tmp_moved_constant_62,tmp_moved_constant_62,tmp_moved_constant_62,tmp_moved_constant_62))));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_41),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_41),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_41),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN)))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_42),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_42),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_42),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN)))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_43),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_43),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_43),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_44,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_46,tmp_qloop_47))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_48,tmp_qloop_49)))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN),_mm256_set_pd(tmp_moved_constant_63,tmp_moved_constant_63,tmp_moved_constant_63,tmp_moved_constant_63)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN),_mm256_set_pd(tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN),_mm256_set_pd(tmp_moved_constant_65,tmp_moved_constant_65,tmp_moved_constant_65,tmp_moved_constant_65))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_53,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_55,tmp_qloop_56))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_57,tmp_qloop_58)))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN),_mm256_set_pd(tmp_moved_constant_63,tmp_moved_constant_63,tmp_moved_constant_63,tmp_moved_constant_63)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN),_mm256_set_pd(tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN),_mm256_set_pd(tmp_moved_constant_65,tmp_moved_constant_65,tmp_moved_constant_65,tmp_moved_constant_65))));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_59,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_61,tmp_qloop_62))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_63,tmp_qloop_64)))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN),_mm256_set_pd(tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN),_mm256_set_pd(tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN),_mm256_set_pd(tmp_moved_constant_68,tmp_moved_constant_68,tmp_moved_constant_68,tmp_moved_constant_68))));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_54,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))))),_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51,tmp_moved_constant_51)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_63,tmp_moved_constant_63,tmp_moved_constant_63,tmp_moved_constant_63))),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56,tmp_moved_constant_56)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64,tmp_moved_constant_64))),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61,tmp_moved_constant_61)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_65,tmp_moved_constant_65,tmp_moved_constant_65,tmp_moved_constant_65))),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_69,tmp_moved_constant_69,tmp_moved_constant_69,tmp_moved_constant_69))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_70,tmp_moved_constant_70,tmp_moved_constant_70,tmp_moved_constant_70))));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)))))),_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_48,tmp_moved_constant_48,tmp_moved_constant_48,tmp_moved_constant_48)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49,tmp_moved_constant_49))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66,tmp_moved_constant_66))),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_53,tmp_moved_constant_53,tmp_moved_constant_53,tmp_moved_constant_53)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_54,tmp_moved_constant_54,tmp_moved_constant_54,tmp_moved_constant_54))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67,tmp_moved_constant_67))),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_58,tmp_moved_constant_58,tmp_moved_constant_58,tmp_moved_constant_58)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_59,tmp_moved_constant_59,tmp_moved_constant_59,tmp_moved_constant_59))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_68,tmp_moved_constant_68,tmp_moved_constant_68,tmp_moved_constant_68))),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_69,tmp_moved_constant_69,tmp_moved_constant_69,tmp_moved_constant_69))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_71,tmp_moved_constant_71,tmp_moved_constant_71,tmp_moved_constant_71))));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_59,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)))))),_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_48,tmp_moved_constant_48,tmp_moved_constant_48,tmp_moved_constant_48)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50,tmp_moved_constant_50))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN))),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_53,tmp_moved_constant_53,tmp_moved_constant_53,tmp_moved_constant_53)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_55,tmp_moved_constant_55,tmp_moved_constant_55,tmp_moved_constant_55))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_58,tmp_moved_constant_58,tmp_moved_constant_58,tmp_moved_constant_58)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_60,tmp_moved_constant_60,tmp_moved_constant_60,tmp_moved_constant_60))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_70,tmp_moved_constant_70,tmp_moved_constant_70,tmp_moved_constant_70))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_71,tmp_moved_constant_71,tmp_moved_constant_71,tmp_moved_constant_71))));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_9);
+                }
+                const __m256d elMatDiag_0 = q_acc_0_0;
+                const __m256d elMatDiag_1 = q_acc_1_1;
+                const __m256d elMatDiag_2 = q_acc_2_2;
+                const __m256d elMatDiag_3 = q_acc_3_3;
+                const __m256d elMatDiag_4 = q_acc_4_4;
+                const __m256d elMatDiag_5 = q_acc_5_5;
+                const __m256d elMatDiag_6 = q_acc_6_6;
+                const __m256d elMatDiag_7 = q_acc_7_7;
+                const __m256d elMatDiag_8 = q_acc_8_8;
+                const __m256d elMatDiag_9 = q_acc_9_9;
+                _mm256_storeu_pd(&_data_invDiag_Vertex[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(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_6,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_7,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_8,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_9,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+             }
+             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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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_1_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*wx_dof_1 + tmp_qloop_13*wx_dof_2 + tmp_qloop_16*wx_dof_3 + tmp_qloop_17*wx_dof_7 + tmp_qloop_18*wx_dof_8 + tmp_qloop_20*wx_dof_9 + tmp_qloop_21*wx_dof_0 + tmp_qloop_5*wx_dof_6 + tmp_qloop_6*wx_dof_5 + tmp_qloop_7*wx_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*wy_dof_1 + tmp_qloop_13*wy_dof_2 + tmp_qloop_16*wy_dof_3 + tmp_qloop_17*wy_dof_7 + tmp_qloop_18*wy_dof_8 + tmp_qloop_20*wy_dof_9 + tmp_qloop_21*wy_dof_0 + tmp_qloop_5*wy_dof_6 + tmp_qloop_6*wy_dof_5 + tmp_qloop_7*wy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*wz_dof_1 + tmp_qloop_13*wz_dof_2 + tmp_qloop_16*wz_dof_3 + tmp_qloop_17*wz_dof_7 + tmp_qloop_18*wz_dof_8 + tmp_qloop_20*wz_dof_9 + tmp_qloop_21*wz_dof_0 + tmp_qloop_5*wz_dof_6 + tmp_qloop_6*wz_dof_5 + tmp_qloop_7*wz_dof_4;
+                   const real_t tmp_qloop_40 = abs_det_jac_affine_BLUE_DOWN*(diffusivity_times_delta_dof_0*tmp_qloop_21 + diffusivity_times_delta_dof_1*tmp_qloop_10 + diffusivity_times_delta_dof_2*tmp_qloop_13 + diffusivity_times_delta_dof_3*tmp_qloop_16 + diffusivity_times_delta_dof_4*tmp_qloop_7 + diffusivity_times_delta_dof_5*tmp_qloop_6 + diffusivity_times_delta_dof_6*tmp_qloop_5 + diffusivity_times_delta_dof_7*tmp_qloop_17 + diffusivity_times_delta_dof_8*tmp_qloop_18 + diffusivity_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_41 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_42 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_43 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_44 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_45 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_46 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_47 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_48 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_49 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_53 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_54 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_55 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_56 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_57 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_58 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_59 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_60 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_61 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_62 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_63 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_64 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_68 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_71 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_72 = -tmp_qloop_1 - tmp_qloop_71 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_74 = -tmp_qloop_2 - tmp_qloop_71 - 8.0*_data_q_p_0[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_4))*(jac_affine_inv_0_0_BLUE_DOWN*tmp_moved_constant_52 + jac_affine_inv_0_1_BLUE_DOWN*tmp_moved_constant_57 + jac_affine_inv_0_2_BLUE_DOWN*tmp_moved_constant_62 + jac_affine_inv_1_0_BLUE_DOWN*tmp_moved_constant_52 + jac_affine_inv_1_1_BLUE_DOWN*tmp_moved_constant_57 + jac_affine_inv_1_2_BLUE_DOWN*tmp_moved_constant_62 + jac_affine_inv_2_0_BLUE_DOWN*tmp_moved_constant_52 + jac_affine_inv_2_1_BLUE_DOWN*tmp_moved_constant_57 + jac_affine_inv_2_2_BLUE_DOWN*tmp_moved_constant_62);
+                   const real_t q_tmp_1_1 = tmp_qloop_40*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN)*4.0 + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN)*4.0 + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)*4.0)*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_41 + jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_41 + jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_41);
+                   const real_t q_tmp_2_2 = tmp_qloop_40*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN)*4.0 + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN)*4.0 + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)*4.0)*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_42 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_42 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_42);
+                   const real_t q_tmp_3_3 = tmp_qloop_40*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN)*4.0 + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN)*4.0 + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)*4.0)*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_43 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_43 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_43);
+                   const real_t q_tmp_4_4 = tmp_qloop_40*(jac_affine_inv_1_0_BLUE_DOWN*tmp_moved_constant_63 + jac_affine_inv_1_1_BLUE_DOWN*tmp_moved_constant_64 + jac_affine_inv_1_2_BLUE_DOWN*tmp_moved_constant_65)*(tmp_qloop_22*(tmp_qloop_44 + tmp_qloop_45) + tmp_qloop_23*(tmp_qloop_46 + tmp_qloop_47) + tmp_qloop_24*(tmp_qloop_48 + tmp_qloop_49));
+                   const real_t q_tmp_5_5 = tmp_qloop_40*(jac_affine_inv_0_0_BLUE_DOWN*tmp_moved_constant_63 + jac_affine_inv_0_1_BLUE_DOWN*tmp_moved_constant_64 + jac_affine_inv_0_2_BLUE_DOWN*tmp_moved_constant_65)*(tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58));
+                   const real_t q_tmp_6_6 = tmp_qloop_40*(jac_affine_inv_0_0_BLUE_DOWN*tmp_moved_constant_66 + jac_affine_inv_0_1_BLUE_DOWN*tmp_moved_constant_67 + jac_affine_inv_0_2_BLUE_DOWN*tmp_moved_constant_68)*(tmp_qloop_22*(tmp_qloop_59 + tmp_qloop_60) + tmp_qloop_23*(tmp_qloop_61 + tmp_qloop_62) + tmp_qloop_24*(tmp_qloop_63 + tmp_qloop_64));
+                   const real_t q_tmp_7_7 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_58))*(jac_affine_inv_2_0_BLUE_DOWN*(-tmp_moved_constant_51 - tmp_moved_constant_63) + jac_affine_inv_2_1_BLUE_DOWN*(-tmp_moved_constant_56 - tmp_moved_constant_64) + jac_affine_inv_2_2_BLUE_DOWN*(-tmp_moved_constant_61 - tmp_moved_constant_65) - tmp_moved_constant_69 - tmp_moved_constant_70);
+                   const real_t q_tmp_8_8 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_72 - tmp_qloop_44 - tmp_qloop_60) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_72 - tmp_qloop_46 - tmp_qloop_62) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_72 - tmp_qloop_48 - tmp_qloop_64))*(jac_affine_inv_1_0_BLUE_DOWN*(-tmp_moved_constant_48 - tmp_moved_constant_49 - tmp_moved_constant_66) + jac_affine_inv_1_1_BLUE_DOWN*(-tmp_moved_constant_53 - tmp_moved_constant_54 - tmp_moved_constant_67) + jac_affine_inv_1_2_BLUE_DOWN*(-tmp_moved_constant_58 - tmp_moved_constant_59 - tmp_moved_constant_68) - tmp_moved_constant_69 - tmp_moved_constant_71);
+                   const real_t q_tmp_9_9 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_74 - tmp_qloop_53 - tmp_qloop_59) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_74 - tmp_qloop_55 - tmp_qloop_61) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_74 - tmp_qloop_57 - tmp_qloop_63))*(jac_affine_inv_0_0_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*-8.0 - tmp_moved_constant_48 - tmp_moved_constant_50) + jac_affine_inv_0_1_BLUE_DOWN*(jac_affine_inv_0_1_BLUE_DOWN*-8.0 - tmp_moved_constant_53 - tmp_moved_constant_55) + jac_affine_inv_0_2_BLUE_DOWN*(jac_affine_inv_0_2_BLUE_DOWN*-8.0 - tmp_moved_constant_58 - tmp_moved_constant_60) - tmp_moved_constant_70 - tmp_moved_constant_71);
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+                }
+                const real_t elMatDiag_0 = q_acc_0_0;
+                const real_t elMatDiag_1 = q_acc_1_1;
+                const real_t elMatDiag_2 = q_acc_2_2;
+                const real_t elMatDiag_3 = q_acc_3_3;
+                const real_t elMatDiag_4 = q_acc_4_4;
+                const real_t elMatDiag_5 = q_acc_5_5;
+                const real_t elMatDiag_6 = q_acc_6_6;
+                const real_t elMatDiag_7 = q_acc_7_7;
+                const real_t elMatDiag_8 = q_acc_8_8;
+                const real_t elMatDiag_9 = q_acc_9_9;
+                _data_invDiag_Vertex[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))] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_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 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_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 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_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 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP;
+       const real_t tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP);
+       const real_t jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP);
+       const real_t jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP);
+       const real_t jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP);
+       const real_t jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP);
+       const real_t tmp_moved_constant_72 = jac_affine_inv_2_0_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_73 = jac_affine_inv_0_0_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_74 = jac_affine_inv_1_0_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_75 = tmp_moved_constant_73 + tmp_moved_constant_74;
+       const real_t tmp_moved_constant_76 = tmp_moved_constant_72 + tmp_moved_constant_75;
+       const real_t tmp_moved_constant_77 = jac_affine_inv_2_1_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_78 = jac_affine_inv_0_1_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_79 = jac_affine_inv_1_1_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_80 = tmp_moved_constant_78 + tmp_moved_constant_79;
+       const real_t tmp_moved_constant_81 = tmp_moved_constant_77 + tmp_moved_constant_80;
+       const real_t tmp_moved_constant_82 = jac_affine_inv_2_2_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_83 = jac_affine_inv_0_2_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_84 = jac_affine_inv_1_2_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_85 = tmp_moved_constant_83 + tmp_moved_constant_84;
+       const real_t tmp_moved_constant_86 = tmp_moved_constant_82 + tmp_moved_constant_85;
+       const real_t tmp_moved_constant_87 = jac_affine_inv_2_0_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_88 = jac_affine_inv_2_1_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_89 = jac_affine_inv_2_2_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_90 = jac_affine_inv_1_0_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_91 = jac_affine_inv_1_1_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_92 = jac_affine_inv_1_2_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_93 = jac_affine_inv_2_0_GREEN_UP*tmp_moved_constant_74 + jac_affine_inv_2_1_GREEN_UP*tmp_moved_constant_79 + jac_affine_inv_2_2_GREEN_UP*tmp_moved_constant_84;
+       const real_t tmp_moved_constant_94 = jac_affine_inv_2_0_GREEN_UP*tmp_moved_constant_73 + jac_affine_inv_2_1_GREEN_UP*tmp_moved_constant_78 + jac_affine_inv_2_2_GREEN_UP*tmp_moved_constant_83;
+       const real_t tmp_moved_constant_95 = jac_affine_inv_1_0_GREEN_UP*tmp_moved_constant_73 + jac_affine_inv_1_1_GREEN_UP*tmp_moved_constant_78 + jac_affine_inv_1_2_GREEN_UP*tmp_moved_constant_83;
+       {
+          /* CellType.GREEN_UP */
+          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 diffusivity_times_delta_dof_0 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_1 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_2 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_3 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_4 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_5 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_6 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_7 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_8 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_9 = _mm256_loadu_pd(& _data_wxEdge[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 wy_dof_0 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_1 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_2 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_3 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_4 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_5 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_6 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_7 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_8 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_9 = _mm256_loadu_pd(& _data_wyEdge[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 wz_dof_0 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_1 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_2 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_3 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_4 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_5 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_6 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_7 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_8 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_9 = _mm256_loadu_pd(& _data_wzEdge[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_1_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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,wx_dof_1),_mm256_mul_pd(tmp_qloop_13,wx_dof_2)),_mm256_mul_pd(tmp_qloop_16,wx_dof_3)),_mm256_mul_pd(tmp_qloop_17,wx_dof_7)),_mm256_mul_pd(tmp_qloop_18,wx_dof_8)),_mm256_mul_pd(tmp_qloop_20,wx_dof_9)),_mm256_mul_pd(tmp_qloop_21,wx_dof_0)),_mm256_mul_pd(tmp_qloop_5,wx_dof_6)),_mm256_mul_pd(tmp_qloop_6,wx_dof_5)),_mm256_mul_pd(tmp_qloop_7,wx_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,wy_dof_1),_mm256_mul_pd(tmp_qloop_13,wy_dof_2)),_mm256_mul_pd(tmp_qloop_16,wy_dof_3)),_mm256_mul_pd(tmp_qloop_17,wy_dof_7)),_mm256_mul_pd(tmp_qloop_18,wy_dof_8)),_mm256_mul_pd(tmp_qloop_20,wy_dof_9)),_mm256_mul_pd(tmp_qloop_21,wy_dof_0)),_mm256_mul_pd(tmp_qloop_5,wy_dof_6)),_mm256_mul_pd(tmp_qloop_6,wy_dof_5)),_mm256_mul_pd(tmp_qloop_7,wy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,wz_dof_1),_mm256_mul_pd(tmp_qloop_13,wz_dof_2)),_mm256_mul_pd(tmp_qloop_16,wz_dof_3)),_mm256_mul_pd(tmp_qloop_17,wz_dof_7)),_mm256_mul_pd(tmp_qloop_18,wz_dof_8)),_mm256_mul_pd(tmp_qloop_20,wz_dof_9)),_mm256_mul_pd(tmp_qloop_21,wz_dof_0)),_mm256_mul_pd(tmp_qloop_5,wz_dof_6)),_mm256_mul_pd(tmp_qloop_6,wz_dof_5)),_mm256_mul_pd(tmp_qloop_7,wz_dof_4));
+                   const __m256d tmp_qloop_40 = _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(diffusivity_times_delta_dof_0,tmp_qloop_21),_mm256_mul_pd(diffusivity_times_delta_dof_1,tmp_qloop_10)),_mm256_mul_pd(diffusivity_times_delta_dof_2,tmp_qloop_13)),_mm256_mul_pd(diffusivity_times_delta_dof_3,tmp_qloop_16)),_mm256_mul_pd(diffusivity_times_delta_dof_4,tmp_qloop_7)),_mm256_mul_pd(diffusivity_times_delta_dof_5,tmp_qloop_6)),_mm256_mul_pd(diffusivity_times_delta_dof_6,tmp_qloop_5)),_mm256_mul_pd(diffusivity_times_delta_dof_7,tmp_qloop_17)),_mm256_mul_pd(diffusivity_times_delta_dof_8,tmp_qloop_18)),_mm256_mul_pd(diffusivity_times_delta_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP));
+                   const __m256d tmp_qloop_41 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_43 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP));
+                   const __m256d tmp_qloop_47 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP));
+                   const __m256d tmp_qloop_48 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP));
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP));
+                   const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP));
+                   const __m256d tmp_qloop_54 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP));
+                   const __m256d tmp_qloop_55 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP));
+                   const __m256d tmp_qloop_56 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP));
+                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP));
+                   const __m256d tmp_qloop_58 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP));
+                   const __m256d tmp_qloop_59 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP));
+                   const __m256d tmp_qloop_60 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP));
+                   const __m256d tmp_qloop_61 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP));
+                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP));
+                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP));
+                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP));
+                   const __m256d tmp_qloop_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_71 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_72 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_74 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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 q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))))),_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(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP),_mm256_set_pd(tmp_moved_constant_76,tmp_moved_constant_76,tmp_moved_constant_76,tmp_moved_constant_76)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP),_mm256_set_pd(tmp_moved_constant_81,tmp_moved_constant_81,tmp_moved_constant_81,tmp_moved_constant_81))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP),_mm256_set_pd(tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP),_mm256_set_pd(tmp_moved_constant_76,tmp_moved_constant_76,tmp_moved_constant_76,tmp_moved_constant_76))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP),_mm256_set_pd(tmp_moved_constant_81,tmp_moved_constant_81,tmp_moved_constant_81,tmp_moved_constant_81))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP),_mm256_set_pd(tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP),_mm256_set_pd(tmp_moved_constant_76,tmp_moved_constant_76,tmp_moved_constant_76,tmp_moved_constant_76))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP),_mm256_set_pd(tmp_moved_constant_81,tmp_moved_constant_81,tmp_moved_constant_81,tmp_moved_constant_81))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP),_mm256_set_pd(tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86,tmp_moved_constant_86))));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_41),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_41),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_41),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP)))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_42),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_42),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_42),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP)))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_43),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_43),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_43),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_44,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_46,tmp_qloop_47))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_48,tmp_qloop_49)))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP),_mm256_set_pd(tmp_moved_constant_87,tmp_moved_constant_87,tmp_moved_constant_87,tmp_moved_constant_87)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP),_mm256_set_pd(tmp_moved_constant_88,tmp_moved_constant_88,tmp_moved_constant_88,tmp_moved_constant_88))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP),_mm256_set_pd(tmp_moved_constant_89,tmp_moved_constant_89,tmp_moved_constant_89,tmp_moved_constant_89))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_53,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_55,tmp_qloop_56))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_57,tmp_qloop_58)))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP),_mm256_set_pd(tmp_moved_constant_87,tmp_moved_constant_87,tmp_moved_constant_87,tmp_moved_constant_87)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP),_mm256_set_pd(tmp_moved_constant_88,tmp_moved_constant_88,tmp_moved_constant_88,tmp_moved_constant_88))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP),_mm256_set_pd(tmp_moved_constant_89,tmp_moved_constant_89,tmp_moved_constant_89,tmp_moved_constant_89))));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_59,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_61,tmp_qloop_62))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_63,tmp_qloop_64)))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP),_mm256_set_pd(tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP),_mm256_set_pd(tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP),_mm256_set_pd(tmp_moved_constant_92,tmp_moved_constant_92,tmp_moved_constant_92,tmp_moved_constant_92))));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_54,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))))),_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_75,tmp_moved_constant_75,tmp_moved_constant_75,tmp_moved_constant_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_87,tmp_moved_constant_87,tmp_moved_constant_87,tmp_moved_constant_87))),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_80,tmp_moved_constant_80,tmp_moved_constant_80,tmp_moved_constant_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_88,tmp_moved_constant_88,tmp_moved_constant_88,tmp_moved_constant_88))),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85,tmp_moved_constant_85)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_89,tmp_moved_constant_89,tmp_moved_constant_89,tmp_moved_constant_89))),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_93,tmp_moved_constant_93,tmp_moved_constant_93,tmp_moved_constant_93))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_94,tmp_moved_constant_94,tmp_moved_constant_94,tmp_moved_constant_94))));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)))))),_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_72,tmp_moved_constant_72,tmp_moved_constant_72,tmp_moved_constant_72)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_73,tmp_moved_constant_73,tmp_moved_constant_73,tmp_moved_constant_73))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90,tmp_moved_constant_90))),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_77,tmp_moved_constant_77,tmp_moved_constant_77,tmp_moved_constant_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_78,tmp_moved_constant_78,tmp_moved_constant_78,tmp_moved_constant_78))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91,tmp_moved_constant_91))),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_82,tmp_moved_constant_82,tmp_moved_constant_82,tmp_moved_constant_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83,tmp_moved_constant_83))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_92,tmp_moved_constant_92,tmp_moved_constant_92,tmp_moved_constant_92))),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_93,tmp_moved_constant_93,tmp_moved_constant_93,tmp_moved_constant_93))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95))));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_59,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)))))),_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_72,tmp_moved_constant_72,tmp_moved_constant_72,tmp_moved_constant_72)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_74,tmp_moved_constant_74,tmp_moved_constant_74,tmp_moved_constant_74))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP))),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_77,tmp_moved_constant_77,tmp_moved_constant_77,tmp_moved_constant_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_79,tmp_moved_constant_79,tmp_moved_constant_79,tmp_moved_constant_79))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_82,tmp_moved_constant_82,tmp_moved_constant_82,tmp_moved_constant_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84,tmp_moved_constant_84))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_94,tmp_moved_constant_94,tmp_moved_constant_94,tmp_moved_constant_94))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95,tmp_moved_constant_95))));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_9);
+                }
+                const __m256d elMatDiag_0 = q_acc_0_0;
+                const __m256d elMatDiag_1 = q_acc_1_1;
+                const __m256d elMatDiag_2 = q_acc_2_2;
+                const __m256d elMatDiag_3 = q_acc_3_3;
+                const __m256d elMatDiag_4 = q_acc_4_4;
+                const __m256d elMatDiag_5 = q_acc_5_5;
+                const __m256d elMatDiag_6 = q_acc_6_6;
+                const __m256d elMatDiag_7 = q_acc_7_7;
+                const __m256d elMatDiag_8 = q_acc_8_8;
+                const __m256d elMatDiag_9 = q_acc_9_9;
+                _mm256_storeu_pd(&_data_invDiag_Vertex[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(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_6,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_7,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_8,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_9,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+             }
+             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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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_1_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*wx_dof_1 + tmp_qloop_13*wx_dof_2 + tmp_qloop_16*wx_dof_3 + tmp_qloop_17*wx_dof_7 + tmp_qloop_18*wx_dof_8 + tmp_qloop_20*wx_dof_9 + tmp_qloop_21*wx_dof_0 + tmp_qloop_5*wx_dof_6 + tmp_qloop_6*wx_dof_5 + tmp_qloop_7*wx_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*wy_dof_1 + tmp_qloop_13*wy_dof_2 + tmp_qloop_16*wy_dof_3 + tmp_qloop_17*wy_dof_7 + tmp_qloop_18*wy_dof_8 + tmp_qloop_20*wy_dof_9 + tmp_qloop_21*wy_dof_0 + tmp_qloop_5*wy_dof_6 + tmp_qloop_6*wy_dof_5 + tmp_qloop_7*wy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*wz_dof_1 + tmp_qloop_13*wz_dof_2 + tmp_qloop_16*wz_dof_3 + tmp_qloop_17*wz_dof_7 + tmp_qloop_18*wz_dof_8 + tmp_qloop_20*wz_dof_9 + tmp_qloop_21*wz_dof_0 + tmp_qloop_5*wz_dof_6 + tmp_qloop_6*wz_dof_5 + tmp_qloop_7*wz_dof_4;
+                   const real_t tmp_qloop_40 = abs_det_jac_affine_GREEN_UP*(diffusivity_times_delta_dof_0*tmp_qloop_21 + diffusivity_times_delta_dof_1*tmp_qloop_10 + diffusivity_times_delta_dof_2*tmp_qloop_13 + diffusivity_times_delta_dof_3*tmp_qloop_16 + diffusivity_times_delta_dof_4*tmp_qloop_7 + diffusivity_times_delta_dof_5*tmp_qloop_6 + diffusivity_times_delta_dof_6*tmp_qloop_5 + diffusivity_times_delta_dof_7*tmp_qloop_17 + diffusivity_times_delta_dof_8*tmp_qloop_18 + diffusivity_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_41 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_42 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_43 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_44 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_45 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_46 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_47 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_48 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_49 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_53 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_54 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_55 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_56 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_57 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_58 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_0;
+                   const real_t tmp_qloop_59 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_60 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_61 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_62 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_63 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_1;
+                   const real_t tmp_qloop_64 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_2;
+                   const real_t tmp_qloop_68 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_71 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_72 = -tmp_qloop_1 - tmp_qloop_71 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_74 = -tmp_qloop_2 - tmp_qloop_71 - 8.0*_data_q_p_0[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_4))*(jac_affine_inv_0_0_GREEN_UP*tmp_moved_constant_76 + jac_affine_inv_0_1_GREEN_UP*tmp_moved_constant_81 + jac_affine_inv_0_2_GREEN_UP*tmp_moved_constant_86 + jac_affine_inv_1_0_GREEN_UP*tmp_moved_constant_76 + jac_affine_inv_1_1_GREEN_UP*tmp_moved_constant_81 + jac_affine_inv_1_2_GREEN_UP*tmp_moved_constant_86 + jac_affine_inv_2_0_GREEN_UP*tmp_moved_constant_76 + jac_affine_inv_2_1_GREEN_UP*tmp_moved_constant_81 + jac_affine_inv_2_2_GREEN_UP*tmp_moved_constant_86);
+                   const real_t q_tmp_1_1 = tmp_qloop_40*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP)*4.0 + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP)*4.0 + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)*4.0)*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_22*tmp_qloop_41 + jac_affine_inv_0_1_GREEN_UP*tmp_qloop_23*tmp_qloop_41 + jac_affine_inv_0_2_GREEN_UP*tmp_qloop_24*tmp_qloop_41);
+                   const real_t q_tmp_2_2 = tmp_qloop_40*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP)*4.0 + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP)*4.0 + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)*4.0)*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_22*tmp_qloop_42 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_23*tmp_qloop_42 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_24*tmp_qloop_42);
+                   const real_t q_tmp_3_3 = tmp_qloop_40*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP)*4.0 + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP)*4.0 + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)*4.0)*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_22*tmp_qloop_43 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_23*tmp_qloop_43 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_24*tmp_qloop_43);
+                   const real_t q_tmp_4_4 = tmp_qloop_40*(jac_affine_inv_1_0_GREEN_UP*tmp_moved_constant_87 + jac_affine_inv_1_1_GREEN_UP*tmp_moved_constant_88 + jac_affine_inv_1_2_GREEN_UP*tmp_moved_constant_89)*(tmp_qloop_22*(tmp_qloop_44 + tmp_qloop_45) + tmp_qloop_23*(tmp_qloop_46 + tmp_qloop_47) + tmp_qloop_24*(tmp_qloop_48 + tmp_qloop_49));
+                   const real_t q_tmp_5_5 = tmp_qloop_40*(jac_affine_inv_0_0_GREEN_UP*tmp_moved_constant_87 + jac_affine_inv_0_1_GREEN_UP*tmp_moved_constant_88 + jac_affine_inv_0_2_GREEN_UP*tmp_moved_constant_89)*(tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58));
+                   const real_t q_tmp_6_6 = tmp_qloop_40*(jac_affine_inv_0_0_GREEN_UP*tmp_moved_constant_90 + jac_affine_inv_0_1_GREEN_UP*tmp_moved_constant_91 + jac_affine_inv_0_2_GREEN_UP*tmp_moved_constant_92)*(tmp_qloop_22*(tmp_qloop_59 + tmp_qloop_60) + tmp_qloop_23*(tmp_qloop_61 + tmp_qloop_62) + tmp_qloop_24*(tmp_qloop_63 + tmp_qloop_64));
+                   const real_t q_tmp_7_7 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_58))*(jac_affine_inv_2_0_GREEN_UP*(-tmp_moved_constant_75 - tmp_moved_constant_87) + jac_affine_inv_2_1_GREEN_UP*(-tmp_moved_constant_80 - tmp_moved_constant_88) + jac_affine_inv_2_2_GREEN_UP*(-tmp_moved_constant_85 - tmp_moved_constant_89) - tmp_moved_constant_93 - tmp_moved_constant_94);
+                   const real_t q_tmp_8_8 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_72 - tmp_qloop_44 - tmp_qloop_60) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_72 - tmp_qloop_46 - tmp_qloop_62) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_72 - tmp_qloop_48 - tmp_qloop_64))*(jac_affine_inv_1_0_GREEN_UP*(-tmp_moved_constant_72 - tmp_moved_constant_73 - tmp_moved_constant_90) + jac_affine_inv_1_1_GREEN_UP*(-tmp_moved_constant_77 - tmp_moved_constant_78 - tmp_moved_constant_91) + jac_affine_inv_1_2_GREEN_UP*(-tmp_moved_constant_82 - tmp_moved_constant_83 - tmp_moved_constant_92) - tmp_moved_constant_93 - tmp_moved_constant_95);
+                   const real_t q_tmp_9_9 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_74 - tmp_qloop_53 - tmp_qloop_59) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_74 - tmp_qloop_55 - tmp_qloop_61) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_74 - tmp_qloop_57 - tmp_qloop_63))*(jac_affine_inv_0_0_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*-8.0 - tmp_moved_constant_72 - tmp_moved_constant_74) + jac_affine_inv_0_1_GREEN_UP*(jac_affine_inv_0_1_GREEN_UP*-8.0 - tmp_moved_constant_77 - tmp_moved_constant_79) + jac_affine_inv_0_2_GREEN_UP*(jac_affine_inv_0_2_GREEN_UP*-8.0 - tmp_moved_constant_82 - tmp_moved_constant_84) - tmp_moved_constant_94 - tmp_moved_constant_95);
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+                }
+                const real_t elMatDiag_0 = q_acc_0_0;
+                const real_t elMatDiag_1 = q_acc_1_1;
+                const real_t elMatDiag_2 = q_acc_2_2;
+                const real_t elMatDiag_3 = q_acc_3_3;
+                const real_t elMatDiag_4 = q_acc_4_4;
+                const real_t elMatDiag_5 = q_acc_5_5;
+                const real_t elMatDiag_6 = q_acc_6_6;
+                const real_t elMatDiag_7 = q_acc_7_7;
+                const real_t elMatDiag_8 = q_acc_8_8;
+                const real_t elMatDiag_9 = q_acc_9_9;
+                _data_invDiag_Vertex[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] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_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 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN;
+       const real_t tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN);
+       const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN);
+       const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN);
+       const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN);
+       const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN);
+       const real_t tmp_moved_constant_96 = jac_affine_inv_2_0_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_97 = jac_affine_inv_0_0_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_98 = jac_affine_inv_1_0_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_99 = tmp_moved_constant_97 + tmp_moved_constant_98;
+       const real_t tmp_moved_constant_100 = tmp_moved_constant_96 + tmp_moved_constant_99;
+       const real_t tmp_moved_constant_101 = jac_affine_inv_2_1_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_102 = jac_affine_inv_0_1_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_103 = jac_affine_inv_1_1_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_104 = tmp_moved_constant_102 + tmp_moved_constant_103;
+       const real_t tmp_moved_constant_105 = tmp_moved_constant_101 + tmp_moved_constant_104;
+       const real_t tmp_moved_constant_106 = jac_affine_inv_2_2_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_107 = jac_affine_inv_0_2_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_108 = jac_affine_inv_1_2_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_109 = tmp_moved_constant_107 + tmp_moved_constant_108;
+       const real_t tmp_moved_constant_110 = tmp_moved_constant_106 + tmp_moved_constant_109;
+       const real_t tmp_moved_constant_111 = jac_affine_inv_2_0_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_112 = jac_affine_inv_2_1_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_113 = jac_affine_inv_2_2_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_114 = jac_affine_inv_1_0_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_115 = jac_affine_inv_1_1_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_116 = jac_affine_inv_1_2_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_117 = jac_affine_inv_2_0_GREEN_DOWN*tmp_moved_constant_98 + jac_affine_inv_2_1_GREEN_DOWN*tmp_moved_constant_103 + jac_affine_inv_2_2_GREEN_DOWN*tmp_moved_constant_108;
+       const real_t tmp_moved_constant_118 = jac_affine_inv_2_0_GREEN_DOWN*tmp_moved_constant_97 + jac_affine_inv_2_1_GREEN_DOWN*tmp_moved_constant_102 + jac_affine_inv_2_2_GREEN_DOWN*tmp_moved_constant_107;
+       const real_t tmp_moved_constant_119 = jac_affine_inv_1_0_GREEN_DOWN*tmp_moved_constant_97 + jac_affine_inv_1_1_GREEN_DOWN*tmp_moved_constant_102 + jac_affine_inv_1_2_GREEN_DOWN*tmp_moved_constant_107;
+       {
+          /* CellType.GREEN_DOWN */
+          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 diffusivity_times_delta_dof_0 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _mm256_loadu_pd(& _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _mm256_loadu_pd(& _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_1 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_2 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_3 = _mm256_loadu_pd(& _data_wxVertex[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 wx_dof_4 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_5 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_6 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_7 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_8 = _mm256_loadu_pd(& _data_wxEdge[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 wx_dof_9 = _mm256_loadu_pd(& _data_wxEdge[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 wy_dof_0 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_1 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_2 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_3 = _mm256_loadu_pd(& _data_wyVertex[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 wy_dof_4 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_5 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_6 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_7 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_8 = _mm256_loadu_pd(& _data_wyEdge[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 wy_dof_9 = _mm256_loadu_pd(& _data_wyEdge[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 wz_dof_0 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_1 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_2 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_3 = _mm256_loadu_pd(& _data_wzVertex[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 wz_dof_4 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_5 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_6 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_7 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_8 = _mm256_loadu_pd(& _data_wzEdge[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 wz_dof_9 = _mm256_loadu_pd(& _data_wzEdge[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_1_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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_6_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_7_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_8_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_9_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_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_1 = _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_2 = _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]));
+                   const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3);
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_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_6 = _mm256_mul_pd(tmp_qloop_1,_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_7 = _mm256_mul_pd(tmp_qloop_2,_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_8 = _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_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(_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_9);
+                   const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_13 = _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_12);
+                   const __m256d tmp_qloop_14 = _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_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_16 = _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_15);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_0);
+                   const __m256d tmp_qloop_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2);
+                   const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6);
+                   const __m256d tmp_qloop_20 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,_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))),tmp_qloop_1);
+                   const __m256d tmp_qloop_21 = _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_12),tmp_qloop_15),tmp_qloop_19),tmp_qloop_7),tmp_qloop_9);
+                   const __m256d tmp_qloop_22 = _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(tmp_qloop_10,wx_dof_1),_mm256_mul_pd(tmp_qloop_13,wx_dof_2)),_mm256_mul_pd(tmp_qloop_16,wx_dof_3)),_mm256_mul_pd(tmp_qloop_17,wx_dof_7)),_mm256_mul_pd(tmp_qloop_18,wx_dof_8)),_mm256_mul_pd(tmp_qloop_20,wx_dof_9)),_mm256_mul_pd(tmp_qloop_21,wx_dof_0)),_mm256_mul_pd(tmp_qloop_5,wx_dof_6)),_mm256_mul_pd(tmp_qloop_6,wx_dof_5)),_mm256_mul_pd(tmp_qloop_7,wx_dof_4));
+                   const __m256d tmp_qloop_23 = _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(tmp_qloop_10,wy_dof_1),_mm256_mul_pd(tmp_qloop_13,wy_dof_2)),_mm256_mul_pd(tmp_qloop_16,wy_dof_3)),_mm256_mul_pd(tmp_qloop_17,wy_dof_7)),_mm256_mul_pd(tmp_qloop_18,wy_dof_8)),_mm256_mul_pd(tmp_qloop_20,wy_dof_9)),_mm256_mul_pd(tmp_qloop_21,wy_dof_0)),_mm256_mul_pd(tmp_qloop_5,wy_dof_6)),_mm256_mul_pd(tmp_qloop_6,wy_dof_5)),_mm256_mul_pd(tmp_qloop_7,wy_dof_4));
+                   const __m256d tmp_qloop_24 = _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(tmp_qloop_10,wz_dof_1),_mm256_mul_pd(tmp_qloop_13,wz_dof_2)),_mm256_mul_pd(tmp_qloop_16,wz_dof_3)),_mm256_mul_pd(tmp_qloop_17,wz_dof_7)),_mm256_mul_pd(tmp_qloop_18,wz_dof_8)),_mm256_mul_pd(tmp_qloop_20,wz_dof_9)),_mm256_mul_pd(tmp_qloop_21,wz_dof_0)),_mm256_mul_pd(tmp_qloop_5,wz_dof_6)),_mm256_mul_pd(tmp_qloop_6,wz_dof_5)),_mm256_mul_pd(tmp_qloop_7,wz_dof_4));
+                   const __m256d tmp_qloop_40 = _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(diffusivity_times_delta_dof_0,tmp_qloop_21),_mm256_mul_pd(diffusivity_times_delta_dof_1,tmp_qloop_10)),_mm256_mul_pd(diffusivity_times_delta_dof_2,tmp_qloop_13)),_mm256_mul_pd(diffusivity_times_delta_dof_3,tmp_qloop_16)),_mm256_mul_pd(diffusivity_times_delta_dof_4,tmp_qloop_7)),_mm256_mul_pd(diffusivity_times_delta_dof_5,tmp_qloop_6)),_mm256_mul_pd(diffusivity_times_delta_dof_6,tmp_qloop_5)),_mm256_mul_pd(diffusivity_times_delta_dof_7,tmp_qloop_17)),_mm256_mul_pd(diffusivity_times_delta_dof_8,tmp_qloop_18)),_mm256_mul_pd(diffusivity_times_delta_dof_9,tmp_qloop_20)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN));
+                   const __m256d tmp_qloop_41 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1);
+                   const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2);
+                   const __m256d tmp_qloop_43 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_45 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_47 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_48 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_54 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_55 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_56 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_58 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_59 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_60 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN));
+                   const __m256d tmp_qloop_61 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_62 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN));
+                   const __m256d tmp_qloop_63 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_64 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN));
+                   const __m256d tmp_qloop_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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(4.0,4.0,4.0,4.0));
+                   const __m256d tmp_qloop_71 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0);
+                   const __m256d tmp_qloop_72 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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_74 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.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 q_tmp_0_0 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))))),_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(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN),_mm256_set_pd(tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN),_mm256_set_pd(tmp_moved_constant_105,tmp_moved_constant_105,tmp_moved_constant_105,tmp_moved_constant_105))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN),_mm256_set_pd(tmp_moved_constant_110,tmp_moved_constant_110,tmp_moved_constant_110,tmp_moved_constant_110))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN),_mm256_set_pd(tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN),_mm256_set_pd(tmp_moved_constant_105,tmp_moved_constant_105,tmp_moved_constant_105,tmp_moved_constant_105))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN),_mm256_set_pd(tmp_moved_constant_110,tmp_moved_constant_110,tmp_moved_constant_110,tmp_moved_constant_110))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN),_mm256_set_pd(tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100,tmp_moved_constant_100))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN),_mm256_set_pd(tmp_moved_constant_105,tmp_moved_constant_105,tmp_moved_constant_105,tmp_moved_constant_105))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN),_mm256_set_pd(tmp_moved_constant_110,tmp_moved_constant_110,tmp_moved_constant_110,tmp_moved_constant_110))));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_41),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_41),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_41),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN)))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_42),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_42),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_42),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN)))),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_22,tmp_qloop_43),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_23,tmp_qloop_43),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_43),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))));
+                   const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_44,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_46,tmp_qloop_47))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_48,tmp_qloop_49)))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN),_mm256_set_pd(tmp_moved_constant_111,tmp_moved_constant_111,tmp_moved_constant_111,tmp_moved_constant_111)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN),_mm256_set_pd(tmp_moved_constant_112,tmp_moved_constant_112,tmp_moved_constant_112,tmp_moved_constant_112))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN),_mm256_set_pd(tmp_moved_constant_113,tmp_moved_constant_113,tmp_moved_constant_113,tmp_moved_constant_113))));
+                   const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_53,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_55,tmp_qloop_56))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_57,tmp_qloop_58)))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN),_mm256_set_pd(tmp_moved_constant_111,tmp_moved_constant_111,tmp_moved_constant_111,tmp_moved_constant_111)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN),_mm256_set_pd(tmp_moved_constant_112,tmp_moved_constant_112,tmp_moved_constant_112,tmp_moved_constant_112))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN),_mm256_set_pd(tmp_moved_constant_113,tmp_moved_constant_113,tmp_moved_constant_113,tmp_moved_constant_113))));
+                   const __m256d q_tmp_6_6 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(tmp_qloop_59,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(tmp_qloop_61,tmp_qloop_62))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(tmp_qloop_63,tmp_qloop_64)))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN),_mm256_set_pd(tmp_moved_constant_114,tmp_moved_constant_114,tmp_moved_constant_114,tmp_moved_constant_114)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN),_mm256_set_pd(tmp_moved_constant_115,tmp_moved_constant_115,tmp_moved_constant_115,tmp_moved_constant_115))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN),_mm256_set_pd(tmp_moved_constant_116,tmp_moved_constant_116,tmp_moved_constant_116,tmp_moved_constant_116))));
+                   const __m256d q_tmp_7_7 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_45,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_54,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_68,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))))),_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_104,tmp_moved_constant_104,tmp_moved_constant_104,tmp_moved_constant_104)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_112,tmp_moved_constant_112,tmp_moved_constant_112,tmp_moved_constant_112))),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN)),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_109,tmp_moved_constant_109,tmp_moved_constant_109,tmp_moved_constant_109)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_113,tmp_moved_constant_113,tmp_moved_constant_113,tmp_moved_constant_113))),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_111,tmp_moved_constant_111,tmp_moved_constant_111,tmp_moved_constant_111)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_99,tmp_moved_constant_99,tmp_moved_constant_99,tmp_moved_constant_99))),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118))));
+                   const __m256d q_tmp_8_8 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_60,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_48,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_72,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)))))),_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_102,tmp_moved_constant_102,tmp_moved_constant_102,tmp_moved_constant_102))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_115,tmp_moved_constant_115,tmp_moved_constant_115,tmp_moved_constant_115))),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN)),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_106,tmp_moved_constant_106,tmp_moved_constant_106,tmp_moved_constant_106)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_107,tmp_moved_constant_107,tmp_moved_constant_107,tmp_moved_constant_107))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_116,tmp_moved_constant_116,tmp_moved_constant_116,tmp_moved_constant_116))),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_114,tmp_moved_constant_114,tmp_moved_constant_114,tmp_moved_constant_114)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_96,tmp_moved_constant_96,tmp_moved_constant_96,tmp_moved_constant_96))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_97,tmp_moved_constant_97,tmp_moved_constant_97,tmp_moved_constant_97))),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117,tmp_moved_constant_117))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119))));
+                   const __m256d q_tmp_9_9 = _mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_22,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_59,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_23,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_61,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))))),_mm256_mul_pd(tmp_qloop_24,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_74,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)))))),_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101,tmp_moved_constant_101)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_103,tmp_moved_constant_103,tmp_moved_constant_103,tmp_moved_constant_103))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_106,tmp_moved_constant_106,tmp_moved_constant_106,tmp_moved_constant_106)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_108,tmp_moved_constant_108,tmp_moved_constant_108,tmp_moved_constant_108))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_96,tmp_moved_constant_96,tmp_moved_constant_96,tmp_moved_constant_96)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98,tmp_moved_constant_98))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN))),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118,tmp_moved_constant_118))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119,tmp_moved_constant_119))));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4);
+                   q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5);
+                   q_acc_6_6 = _mm256_add_pd(q_acc_6_6,q_tmp_6_6);
+                   q_acc_7_7 = _mm256_add_pd(q_acc_7_7,q_tmp_7_7);
+                   q_acc_8_8 = _mm256_add_pd(q_acc_8_8,q_tmp_8_8);
+                   q_acc_9_9 = _mm256_add_pd(q_acc_9_9,q_tmp_9_9);
+                }
+                const __m256d elMatDiag_0 = q_acc_0_0;
+                const __m256d elMatDiag_1 = q_acc_1_1;
+                const __m256d elMatDiag_2 = q_acc_2_2;
+                const __m256d elMatDiag_3 = q_acc_3_3;
+                const __m256d elMatDiag_4 = q_acc_4_4;
+                const __m256d elMatDiag_5 = q_acc_5_5;
+                const __m256d elMatDiag_6 = q_acc_6_6;
+                const __m256d elMatDiag_7 = q_acc_7_7;
+                const __m256d elMatDiag_8 = q_acc_8_8;
+                const __m256d elMatDiag_9 = q_acc_9_9;
+                _mm256_storeu_pd(&_data_invDiag_Vertex[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(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Vertex[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(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_Vertex[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_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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],_mm256_add_pd(elMatDiag_6,_mm256_loadu_pd(& _data_invDiag_Edge[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])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_7,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_8,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+                _mm256_storeu_pd(&_data_invDiag_Edge[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))],_mm256_add_pd(elMatDiag_9,_mm256_loadu_pd(& _data_invDiag_Edge[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))])));
+             }
+             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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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_1_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_4_4 = 0.0;
+                real_t q_acc_5_5 = 0.0;
+                real_t q_acc_6_6 = 0.0;
+                real_t q_acc_7_7 = 0.0;
+                real_t q_acc_8_8 = 0.0;
+                real_t q_acc_9_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                   const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                   const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                   const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                   const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                   const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                   const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                   const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                   const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                   const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                   const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                   const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                   const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                   const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                   const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                   const real_t tmp_qloop_22 = tmp_qloop_10*wx_dof_1 + tmp_qloop_13*wx_dof_2 + tmp_qloop_16*wx_dof_3 + tmp_qloop_17*wx_dof_7 + tmp_qloop_18*wx_dof_8 + tmp_qloop_20*wx_dof_9 + tmp_qloop_21*wx_dof_0 + tmp_qloop_5*wx_dof_6 + tmp_qloop_6*wx_dof_5 + tmp_qloop_7*wx_dof_4;
+                   const real_t tmp_qloop_23 = tmp_qloop_10*wy_dof_1 + tmp_qloop_13*wy_dof_2 + tmp_qloop_16*wy_dof_3 + tmp_qloop_17*wy_dof_7 + tmp_qloop_18*wy_dof_8 + tmp_qloop_20*wy_dof_9 + tmp_qloop_21*wy_dof_0 + tmp_qloop_5*wy_dof_6 + tmp_qloop_6*wy_dof_5 + tmp_qloop_7*wy_dof_4;
+                   const real_t tmp_qloop_24 = tmp_qloop_10*wz_dof_1 + tmp_qloop_13*wz_dof_2 + tmp_qloop_16*wz_dof_3 + tmp_qloop_17*wz_dof_7 + tmp_qloop_18*wz_dof_8 + tmp_qloop_20*wz_dof_9 + tmp_qloop_21*wz_dof_0 + tmp_qloop_5*wz_dof_6 + tmp_qloop_6*wz_dof_5 + tmp_qloop_7*wz_dof_4;
+                   const real_t tmp_qloop_40 = abs_det_jac_affine_GREEN_DOWN*(diffusivity_times_delta_dof_0*tmp_qloop_21 + diffusivity_times_delta_dof_1*tmp_qloop_10 + diffusivity_times_delta_dof_2*tmp_qloop_13 + diffusivity_times_delta_dof_3*tmp_qloop_16 + diffusivity_times_delta_dof_4*tmp_qloop_7 + diffusivity_times_delta_dof_5*tmp_qloop_6 + diffusivity_times_delta_dof_6*tmp_qloop_5 + diffusivity_times_delta_dof_7*tmp_qloop_17 + diffusivity_times_delta_dof_8*tmp_qloop_18 + diffusivity_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                   const real_t tmp_qloop_41 = tmp_qloop_1 - 1.0;
+                   const real_t tmp_qloop_42 = tmp_qloop_2 - 1.0;
+                   const real_t tmp_qloop_43 = tmp_qloop_0 - 1.0;
+                   const real_t tmp_qloop_44 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_45 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_46 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_47 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_48 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_49 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_53 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_54 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_55 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_56 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_57 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_58 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_0;
+                   const real_t tmp_qloop_59 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_60 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_61 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_62 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_63 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_1;
+                   const real_t tmp_qloop_64 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_2;
+                   const real_t tmp_qloop_68 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                   const real_t tmp_qloop_71 = tmp_qloop_0 - 4.0;
+                   const real_t tmp_qloop_72 = -tmp_qloop_1 - tmp_qloop_71 - 8.0*_data_q_p_1[q];
+                   const real_t tmp_qloop_74 = -tmp_qloop_2 - tmp_qloop_71 - 8.0*_data_q_p_0[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_4))*(jac_affine_inv_0_0_GREEN_DOWN*tmp_moved_constant_100 + jac_affine_inv_0_1_GREEN_DOWN*tmp_moved_constant_105 + jac_affine_inv_0_2_GREEN_DOWN*tmp_moved_constant_110 + jac_affine_inv_1_0_GREEN_DOWN*tmp_moved_constant_100 + jac_affine_inv_1_1_GREEN_DOWN*tmp_moved_constant_105 + jac_affine_inv_1_2_GREEN_DOWN*tmp_moved_constant_110 + jac_affine_inv_2_0_GREEN_DOWN*tmp_moved_constant_100 + jac_affine_inv_2_1_GREEN_DOWN*tmp_moved_constant_105 + jac_affine_inv_2_2_GREEN_DOWN*tmp_moved_constant_110);
+                   const real_t q_tmp_1_1 = tmp_qloop_40*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN)*4.0 + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN)*4.0 + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)*4.0)*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_41 + jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_41 + jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_41);
+                   const real_t q_tmp_2_2 = tmp_qloop_40*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN)*4.0 + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN)*4.0 + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)*4.0)*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_42 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_42 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_42);
+                   const real_t q_tmp_3_3 = tmp_qloop_40*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN)*4.0 + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN)*4.0 + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)*4.0)*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_43 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_43 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_43);
+                   const real_t q_tmp_4_4 = tmp_qloop_40*(jac_affine_inv_1_0_GREEN_DOWN*tmp_moved_constant_111 + jac_affine_inv_1_1_GREEN_DOWN*tmp_moved_constant_112 + jac_affine_inv_1_2_GREEN_DOWN*tmp_moved_constant_113)*(tmp_qloop_22*(tmp_qloop_44 + tmp_qloop_45) + tmp_qloop_23*(tmp_qloop_46 + tmp_qloop_47) + tmp_qloop_24*(tmp_qloop_48 + tmp_qloop_49));
+                   const real_t q_tmp_5_5 = tmp_qloop_40*(jac_affine_inv_0_0_GREEN_DOWN*tmp_moved_constant_111 + jac_affine_inv_0_1_GREEN_DOWN*tmp_moved_constant_112 + jac_affine_inv_0_2_GREEN_DOWN*tmp_moved_constant_113)*(tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58));
+                   const real_t q_tmp_6_6 = tmp_qloop_40*(jac_affine_inv_0_0_GREEN_DOWN*tmp_moved_constant_114 + jac_affine_inv_0_1_GREEN_DOWN*tmp_moved_constant_115 + jac_affine_inv_0_2_GREEN_DOWN*tmp_moved_constant_116)*(tmp_qloop_22*(tmp_qloop_59 + tmp_qloop_60) + tmp_qloop_23*(tmp_qloop_61 + tmp_qloop_62) + tmp_qloop_24*(tmp_qloop_63 + tmp_qloop_64));
+                   const real_t q_tmp_7_7 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_58))*(jac_affine_inv_2_0_GREEN_DOWN*(-tmp_moved_constant_111 - tmp_moved_constant_99) + jac_affine_inv_2_1_GREEN_DOWN*(-tmp_moved_constant_104 - tmp_moved_constant_112) + jac_affine_inv_2_2_GREEN_DOWN*(-tmp_moved_constant_109 - tmp_moved_constant_113) - tmp_moved_constant_117 - tmp_moved_constant_118);
+                   const real_t q_tmp_8_8 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_72 - tmp_qloop_44 - tmp_qloop_60) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_72 - tmp_qloop_46 - tmp_qloop_62) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_72 - tmp_qloop_48 - tmp_qloop_64))*(jac_affine_inv_1_0_GREEN_DOWN*(-tmp_moved_constant_114 - tmp_moved_constant_96 - tmp_moved_constant_97) + jac_affine_inv_1_1_GREEN_DOWN*(-tmp_moved_constant_101 - tmp_moved_constant_102 - tmp_moved_constant_115) + jac_affine_inv_1_2_GREEN_DOWN*(-tmp_moved_constant_106 - tmp_moved_constant_107 - tmp_moved_constant_116) - tmp_moved_constant_117 - tmp_moved_constant_119);
+                   const real_t q_tmp_9_9 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_74 - tmp_qloop_53 - tmp_qloop_59) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_74 - tmp_qloop_55 - tmp_qloop_61) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_74 - tmp_qloop_57 - tmp_qloop_63))*(jac_affine_inv_0_0_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*-8.0 - tmp_moved_constant_96 - tmp_moved_constant_98) + jac_affine_inv_0_1_GREEN_DOWN*(jac_affine_inv_0_1_GREEN_DOWN*-8.0 - tmp_moved_constant_101 - tmp_moved_constant_103) + jac_affine_inv_0_2_GREEN_DOWN*(jac_affine_inv_0_2_GREEN_DOWN*-8.0 - tmp_moved_constant_106 - tmp_moved_constant_108) - tmp_moved_constant_118 - tmp_moved_constant_119);
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                   q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                   q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                   q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                   q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                   q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+                }
+                const real_t elMatDiag_0 = q_acc_0_0;
+                const real_t elMatDiag_1 = q_acc_1_1;
+                const real_t elMatDiag_2 = q_acc_2_2;
+                const real_t elMatDiag_3 = q_acc_3_3;
+                const real_t elMatDiag_4 = q_acc_4_4;
+                const real_t elMatDiag_5 = q_acc_5_5;
+                const real_t elMatDiag_6 = q_acc_6_6;
+                const real_t elMatDiag_7 = q_acc_7_7;
+                const real_t elMatDiag_8 = q_acc_8_8;
+                const real_t elMatDiag_9 = q_acc_9_9;
+                _data_invDiag_Vertex[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))] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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))];
+             }
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/supg_diffusion/noarch/P2ElementwiseSupgDiffusion_apply_P2ElementwiseSupgDiffusion_macro_3D.cpp b/operators/supg_diffusion/noarch/P2ElementwiseSupgDiffusion_apply_P2ElementwiseSupgDiffusion_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..70f1e1a32b32bd0ee42c6b5600e0542e6c7e8e40
--- /dev/null
+++ b/operators/supg_diffusion/noarch/P2ElementwiseSupgDiffusion_apply_P2ElementwiseSupgDiffusion_macro_3D.cpp
@@ -0,0 +1,3390 @@
+/*
+* 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 Operator Generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ElementwiseSupgDiffusion.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ElementwiseSupgDiffusion::apply_P2ElementwiseSupgDiffusion_macro_3D( real_t * RESTRICT  _data_diffusivity_times_deltaEdge, real_t * RESTRICT  _data_diffusivity_times_deltaVertex, real_t * RESTRICT  _data_dstEdge, real_t * RESTRICT  _data_dstVertex, real_t * RESTRICT  _data_srcEdge, real_t * RESTRICT  _data_srcVertex, real_t * RESTRICT  _data_wxEdge, real_t * RESTRICT  _data_wxVertex, real_t * RESTRICT  _data_wyEdge, real_t * RESTRICT  _data_wyVertex, real_t * RESTRICT  _data_wzEdge, real_t * RESTRICT  _data_wzVertex, 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 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_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 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_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 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_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 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP;
+       const real_t tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP);
+       const real_t jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP);
+       const real_t jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP);
+       const real_t jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP);
+       const real_t jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP);
+       const real_t tmp_qloop_0 = jac_affine_inv_2_0_WHITE_UP*4.0;
+       const real_t tmp_qloop_1 = jac_affine_inv_0_0_WHITE_UP*4.0;
+       const real_t tmp_qloop_2 = jac_affine_inv_1_0_WHITE_UP*4.0;
+       const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+       const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3;
+       const real_t tmp_qloop_5 = jac_affine_inv_2_1_WHITE_UP*4.0;
+       const real_t tmp_qloop_6 = jac_affine_inv_0_1_WHITE_UP*4.0;
+       const real_t tmp_qloop_7 = jac_affine_inv_1_1_WHITE_UP*4.0;
+       const real_t tmp_qloop_8 = tmp_qloop_6 + tmp_qloop_7;
+       const real_t tmp_qloop_9 = tmp_qloop_5 + tmp_qloop_8;
+       const real_t tmp_qloop_10 = jac_affine_inv_2_2_WHITE_UP*4.0;
+       const real_t tmp_qloop_11 = jac_affine_inv_0_2_WHITE_UP*4.0;
+       const real_t tmp_qloop_12 = jac_affine_inv_1_2_WHITE_UP*4.0;
+       const real_t tmp_qloop_13 = tmp_qloop_11 + tmp_qloop_12;
+       const real_t tmp_qloop_14 = tmp_qloop_10 + tmp_qloop_13;
+       const real_t tmp_qloop_15 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_9 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_14 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_9 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_14 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_9 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_14;
+       const real_t tmp_qloop_43 = (jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP)*4.0 + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP)*4.0 + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)*4.0;
+       const real_t tmp_qloop_44 = (jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP)*4.0 + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP)*4.0 + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)*4.0;
+       const real_t tmp_qloop_45 = (jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP)*4.0 + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP)*4.0 + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)*4.0;
+       const real_t tmp_qloop_46 = jac_affine_inv_2_0_WHITE_UP*8.0;
+       const real_t tmp_qloop_47 = jac_affine_inv_2_1_WHITE_UP*8.0;
+       const real_t tmp_qloop_48 = jac_affine_inv_2_2_WHITE_UP*8.0;
+       const real_t tmp_qloop_49 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_46 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_47 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_48;
+       const real_t tmp_qloop_50 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_46 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_47 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_48;
+       const real_t tmp_qloop_51 = jac_affine_inv_1_0_WHITE_UP*8.0;
+       const real_t tmp_qloop_52 = jac_affine_inv_1_1_WHITE_UP*8.0;
+       const real_t tmp_qloop_53 = jac_affine_inv_1_2_WHITE_UP*8.0;
+       const real_t tmp_qloop_54 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_51 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_52 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_53;
+       const real_t tmp_qloop_55 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_2 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_7 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_12;
+       const real_t tmp_qloop_56 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_1 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_6 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_11;
+       const real_t tmp_qloop_57 = jac_affine_inv_2_0_WHITE_UP*(-tmp_qloop_3 - tmp_qloop_46) + jac_affine_inv_2_1_WHITE_UP*(-tmp_qloop_47 - tmp_qloop_8) + jac_affine_inv_2_2_WHITE_UP*(-tmp_qloop_13 - tmp_qloop_48) - tmp_qloop_55 - tmp_qloop_56;
+       const real_t tmp_qloop_58 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_1 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_6 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_11;
+       const real_t tmp_qloop_59 = jac_affine_inv_1_0_WHITE_UP*(-tmp_qloop_0 - tmp_qloop_1 - tmp_qloop_51) + jac_affine_inv_1_1_WHITE_UP*(-tmp_qloop_5 - tmp_qloop_52 - tmp_qloop_6) + jac_affine_inv_1_2_WHITE_UP*(-tmp_qloop_10 - tmp_qloop_11 - tmp_qloop_53) - tmp_qloop_55 - tmp_qloop_58;
+       const real_t tmp_qloop_60 = jac_affine_inv_0_0_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*-8.0 - tmp_qloop_0 - tmp_qloop_2) + jac_affine_inv_0_1_WHITE_UP*(jac_affine_inv_0_1_WHITE_UP*-8.0 - tmp_qloop_5 - tmp_qloop_7) + jac_affine_inv_0_2_WHITE_UP*(jac_affine_inv_0_2_WHITE_UP*-8.0 - tmp_qloop_10 - tmp_qloop_12) - tmp_qloop_56 - tmp_qloop_58;
+       {
+          /* CellType.WHITE_UP */
+          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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_16 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_17 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_18 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18;
+                const real_t tmp_qloop_20 = tmp_qloop_16 + tmp_qloop_19 - 3.0;
+                const real_t tmp_qloop_21 = tmp_qloop_17*_data_q_p_1[q];
+                const real_t tmp_qloop_22 = tmp_qloop_17*_data_q_p_2[q];
+                const real_t tmp_qloop_23 = tmp_qloop_18*_data_q_p_2[q];
+                const real_t tmp_qloop_24 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_25 = tmp_qloop_24*2.0;
+                const real_t tmp_qloop_26 = tmp_qloop_25 - _data_q_p_0[q];
+                const real_t tmp_qloop_27 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_28 = tmp_qloop_27*2.0;
+                const real_t tmp_qloop_29 = tmp_qloop_28 - _data_q_p_1[q];
+                const real_t tmp_qloop_30 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_31 = tmp_qloop_30*2.0;
+                const real_t tmp_qloop_32 = tmp_qloop_31 - _data_q_p_2[q];
+                const real_t tmp_qloop_33 = tmp_qloop_16 - tmp_qloop_22 - tmp_qloop_23 + tmp_qloop_30*-4.0;
+                const real_t tmp_qloop_34 = tmp_qloop_18 - tmp_qloop_21 - tmp_qloop_23 + tmp_qloop_27*-4.0;
+                const real_t tmp_qloop_35 = tmp_qloop_21 + tmp_qloop_22;
+                const real_t tmp_qloop_36 = tmp_qloop_17 + tmp_qloop_24*-4.0 - tmp_qloop_35;
+                const real_t tmp_qloop_37 = tmp_qloop_23 + tmp_qloop_25 + tmp_qloop_28 + tmp_qloop_31 + tmp_qloop_35 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                const real_t tmp_qloop_38 = tmp_qloop_21*wx_dof_6 + tmp_qloop_22*wx_dof_5 + tmp_qloop_23*wx_dof_4 + tmp_qloop_26*wx_dof_1 + tmp_qloop_29*wx_dof_2 + tmp_qloop_32*wx_dof_3 + tmp_qloop_33*wx_dof_7 + tmp_qloop_34*wx_dof_8 + tmp_qloop_36*wx_dof_9 + tmp_qloop_37*wx_dof_0;
+                const real_t tmp_qloop_39 = tmp_qloop_21*wy_dof_6 + tmp_qloop_22*wy_dof_5 + tmp_qloop_23*wy_dof_4 + tmp_qloop_26*wy_dof_1 + tmp_qloop_29*wy_dof_2 + tmp_qloop_32*wy_dof_3 + tmp_qloop_33*wy_dof_7 + tmp_qloop_34*wy_dof_8 + tmp_qloop_36*wy_dof_9 + tmp_qloop_37*wy_dof_0;
+                const real_t tmp_qloop_40 = tmp_qloop_21*wz_dof_6 + tmp_qloop_22*wz_dof_5 + tmp_qloop_23*wz_dof_4 + tmp_qloop_26*wz_dof_1 + tmp_qloop_29*wz_dof_2 + tmp_qloop_32*wz_dof_3 + tmp_qloop_33*wz_dof_7 + tmp_qloop_34*wz_dof_8 + tmp_qloop_36*wz_dof_9 + tmp_qloop_37*wz_dof_0;
+                const real_t tmp_qloop_41 = abs_det_jac_affine_WHITE_UP*(diffusivity_times_delta_dof_0*tmp_qloop_37 + diffusivity_times_delta_dof_1*tmp_qloop_26 + diffusivity_times_delta_dof_2*tmp_qloop_29 + diffusivity_times_delta_dof_3*tmp_qloop_32 + diffusivity_times_delta_dof_4*tmp_qloop_23 + diffusivity_times_delta_dof_5*tmp_qloop_22 + diffusivity_times_delta_dof_6*tmp_qloop_21 + diffusivity_times_delta_dof_7*tmp_qloop_33 + diffusivity_times_delta_dof_8*tmp_qloop_34 + diffusivity_times_delta_dof_9*tmp_qloop_36)*_data_q_w[q];
+                const real_t tmp_qloop_42 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_20 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_20 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_20) + tmp_qloop_39*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_20 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_20 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_20) + tmp_qloop_40*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_20 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_20 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_20));
+                const real_t tmp_qloop_61 = tmp_qloop_17 - 1.0;
+                const real_t tmp_qloop_62 = tmp_qloop_41*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_38*tmp_qloop_61 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_39*tmp_qloop_61 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_40*tmp_qloop_61);
+                const real_t tmp_qloop_63 = tmp_qloop_18 - 1.0;
+                const real_t tmp_qloop_64 = tmp_qloop_41*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_38*tmp_qloop_63 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_39*tmp_qloop_63 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_40*tmp_qloop_63);
+                const real_t tmp_qloop_65 = tmp_qloop_16 - 1.0;
+                const real_t tmp_qloop_66 = tmp_qloop_41*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_38*tmp_qloop_65 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_39*tmp_qloop_65 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_40*tmp_qloop_65);
+                const real_t tmp_qloop_67 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_68 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_69 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_70 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_71 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_72 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_73 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_67 + tmp_qloop_68) + tmp_qloop_39*(tmp_qloop_69 + tmp_qloop_70) + tmp_qloop_40*(tmp_qloop_71 + tmp_qloop_72));
+                const real_t tmp_qloop_74 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_75 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_76 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_77 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_78 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_79 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_80 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_74 + tmp_qloop_75) + tmp_qloop_39*(tmp_qloop_76 + tmp_qloop_77) + tmp_qloop_40*(tmp_qloop_78 + tmp_qloop_79));
+                const real_t tmp_qloop_81 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_82 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_83 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_84 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_85 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_86 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_87 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_81 + tmp_qloop_82) + tmp_qloop_39*(tmp_qloop_83 + tmp_qloop_84) + tmp_qloop_40*(tmp_qloop_85 + tmp_qloop_86));
+                const real_t tmp_qloop_88 = -tmp_qloop_19 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_89 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_88 - tmp_qloop_68 - tmp_qloop_75) + tmp_qloop_39*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_88 - tmp_qloop_70 - tmp_qloop_77) + tmp_qloop_40*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_88 - tmp_qloop_72 - tmp_qloop_79));
+                const real_t tmp_qloop_90 = tmp_qloop_16 - 4.0;
+                const real_t tmp_qloop_91 = -tmp_qloop_17 - tmp_qloop_90 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_92 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_91 - tmp_qloop_67 - tmp_qloop_82) + tmp_qloop_39*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_91 - tmp_qloop_69 - tmp_qloop_84) + tmp_qloop_40*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_91 - tmp_qloop_71 - tmp_qloop_86));
+                const real_t tmp_qloop_93 = -tmp_qloop_18 - tmp_qloop_90 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_94 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_93 - tmp_qloop_74 - tmp_qloop_81) + tmp_qloop_39*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_93 - tmp_qloop_76 - tmp_qloop_83) + tmp_qloop_40*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_93 - tmp_qloop_78 - tmp_qloop_85));
+                const real_t q_tmp_0_0 = tmp_qloop_15*tmp_qloop_42;
+                const real_t q_tmp_0_1 = tmp_qloop_42*tmp_qloop_43;
+                const real_t q_tmp_0_2 = tmp_qloop_42*tmp_qloop_44;
+                const real_t q_tmp_0_3 = tmp_qloop_42*tmp_qloop_45;
+                const real_t q_tmp_0_4 = tmp_qloop_42*tmp_qloop_49;
+                const real_t q_tmp_0_5 = tmp_qloop_42*tmp_qloop_50;
+                const real_t q_tmp_0_6 = tmp_qloop_42*tmp_qloop_54;
+                const real_t q_tmp_0_7 = tmp_qloop_42*tmp_qloop_57;
+                const real_t q_tmp_0_8 = tmp_qloop_42*tmp_qloop_59;
+                const real_t q_tmp_0_9 = tmp_qloop_42*tmp_qloop_60;
+                const real_t q_tmp_1_0 = tmp_qloop_15*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_qloop_43*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_qloop_44*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_qloop_45*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_qloop_49*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_qloop_50*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_qloop_57*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_qloop_60*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_qloop_15*tmp_qloop_64;
+                const real_t q_tmp_2_1 = tmp_qloop_43*tmp_qloop_64;
+                const real_t q_tmp_2_2 = tmp_qloop_44*tmp_qloop_64;
+                const real_t q_tmp_2_3 = tmp_qloop_45*tmp_qloop_64;
+                const real_t q_tmp_2_4 = tmp_qloop_49*tmp_qloop_64;
+                const real_t q_tmp_2_5 = tmp_qloop_50*tmp_qloop_64;
+                const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_64;
+                const real_t q_tmp_2_7 = tmp_qloop_57*tmp_qloop_64;
+                const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_64;
+                const real_t q_tmp_2_9 = tmp_qloop_60*tmp_qloop_64;
+                const real_t q_tmp_3_0 = tmp_qloop_15*tmp_qloop_66;
+                const real_t q_tmp_3_1 = tmp_qloop_43*tmp_qloop_66;
+                const real_t q_tmp_3_2 = tmp_qloop_44*tmp_qloop_66;
+                const real_t q_tmp_3_3 = tmp_qloop_45*tmp_qloop_66;
+                const real_t q_tmp_3_4 = tmp_qloop_49*tmp_qloop_66;
+                const real_t q_tmp_3_5 = tmp_qloop_50*tmp_qloop_66;
+                const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_66;
+                const real_t q_tmp_3_7 = tmp_qloop_57*tmp_qloop_66;
+                const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_66;
+                const real_t q_tmp_3_9 = tmp_qloop_60*tmp_qloop_66;
+                const real_t q_tmp_4_0 = tmp_qloop_15*tmp_qloop_73;
+                const real_t q_tmp_4_1 = tmp_qloop_43*tmp_qloop_73;
+                const real_t q_tmp_4_2 = tmp_qloop_44*tmp_qloop_73;
+                const real_t q_tmp_4_3 = tmp_qloop_45*tmp_qloop_73;
+                const real_t q_tmp_4_4 = tmp_qloop_49*tmp_qloop_73;
+                const real_t q_tmp_4_5 = tmp_qloop_50*tmp_qloop_73;
+                const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_73;
+                const real_t q_tmp_4_7 = tmp_qloop_57*tmp_qloop_73;
+                const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_73;
+                const real_t q_tmp_4_9 = tmp_qloop_60*tmp_qloop_73;
+                const real_t q_tmp_5_0 = tmp_qloop_15*tmp_qloop_80;
+                const real_t q_tmp_5_1 = tmp_qloop_43*tmp_qloop_80;
+                const real_t q_tmp_5_2 = tmp_qloop_44*tmp_qloop_80;
+                const real_t q_tmp_5_3 = tmp_qloop_45*tmp_qloop_80;
+                const real_t q_tmp_5_4 = tmp_qloop_49*tmp_qloop_80;
+                const real_t q_tmp_5_5 = tmp_qloop_50*tmp_qloop_80;
+                const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_80;
+                const real_t q_tmp_5_7 = tmp_qloop_57*tmp_qloop_80;
+                const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_80;
+                const real_t q_tmp_5_9 = tmp_qloop_60*tmp_qloop_80;
+                const real_t q_tmp_6_0 = tmp_qloop_15*tmp_qloop_87;
+                const real_t q_tmp_6_1 = tmp_qloop_43*tmp_qloop_87;
+                const real_t q_tmp_6_2 = tmp_qloop_44*tmp_qloop_87;
+                const real_t q_tmp_6_3 = tmp_qloop_45*tmp_qloop_87;
+                const real_t q_tmp_6_4 = tmp_qloop_49*tmp_qloop_87;
+                const real_t q_tmp_6_5 = tmp_qloop_50*tmp_qloop_87;
+                const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_87;
+                const real_t q_tmp_6_7 = tmp_qloop_57*tmp_qloop_87;
+                const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_87;
+                const real_t q_tmp_6_9 = tmp_qloop_60*tmp_qloop_87;
+                const real_t q_tmp_7_0 = tmp_qloop_15*tmp_qloop_89;
+                const real_t q_tmp_7_1 = tmp_qloop_43*tmp_qloop_89;
+                const real_t q_tmp_7_2 = tmp_qloop_44*tmp_qloop_89;
+                const real_t q_tmp_7_3 = tmp_qloop_45*tmp_qloop_89;
+                const real_t q_tmp_7_4 = tmp_qloop_49*tmp_qloop_89;
+                const real_t q_tmp_7_5 = tmp_qloop_50*tmp_qloop_89;
+                const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_89;
+                const real_t q_tmp_7_7 = tmp_qloop_57*tmp_qloop_89;
+                const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_89;
+                const real_t q_tmp_7_9 = tmp_qloop_60*tmp_qloop_89;
+                const real_t q_tmp_8_0 = tmp_qloop_15*tmp_qloop_92;
+                const real_t q_tmp_8_1 = tmp_qloop_43*tmp_qloop_92;
+                const real_t q_tmp_8_2 = tmp_qloop_44*tmp_qloop_92;
+                const real_t q_tmp_8_3 = tmp_qloop_45*tmp_qloop_92;
+                const real_t q_tmp_8_4 = tmp_qloop_49*tmp_qloop_92;
+                const real_t q_tmp_8_5 = tmp_qloop_50*tmp_qloop_92;
+                const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_92;
+                const real_t q_tmp_8_7 = tmp_qloop_57*tmp_qloop_92;
+                const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_92;
+                const real_t q_tmp_8_9 = tmp_qloop_60*tmp_qloop_92;
+                const real_t q_tmp_9_0 = tmp_qloop_15*tmp_qloop_94;
+                const real_t q_tmp_9_1 = tmp_qloop_43*tmp_qloop_94;
+                const real_t q_tmp_9_2 = tmp_qloop_44*tmp_qloop_94;
+                const real_t q_tmp_9_3 = tmp_qloop_45*tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_qloop_49*tmp_qloop_94;
+                const real_t q_tmp_9_5 = tmp_qloop_50*tmp_qloop_94;
+                const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_94;
+                const real_t q_tmp_9_7 = tmp_qloop_57*tmp_qloop_94;
+                const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_94;
+                const real_t q_tmp_9_9 = tmp_qloop_60*tmp_qloop_94;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+             const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+             const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+             const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+             const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+             const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+             _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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))] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_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 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_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 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_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 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN;
+       const real_t tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN);
+       const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN);
+       const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN);
+       const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN);
+       const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN);
+       const real_t tmp_moved_constant_0 = jac_affine_inv_2_0_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_1 = jac_affine_inv_0_0_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_2 = jac_affine_inv_1_0_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_3 = tmp_moved_constant_1 + tmp_moved_constant_2;
+       const real_t tmp_moved_constant_4 = tmp_moved_constant_0 + tmp_moved_constant_3;
+       const real_t tmp_moved_constant_5 = jac_affine_inv_2_1_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_6 = jac_affine_inv_0_1_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_7 = jac_affine_inv_1_1_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_8 = tmp_moved_constant_6 + tmp_moved_constant_7;
+       const real_t tmp_moved_constant_9 = tmp_moved_constant_5 + tmp_moved_constant_8;
+       const real_t tmp_moved_constant_10 = jac_affine_inv_2_2_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_11 = jac_affine_inv_0_2_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_12 = jac_affine_inv_1_2_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_13 = tmp_moved_constant_11 + tmp_moved_constant_12;
+       const real_t tmp_moved_constant_14 = tmp_moved_constant_10 + tmp_moved_constant_13;
+       const real_t tmp_moved_constant_15 = jac_affine_inv_0_0_WHITE_DOWN*tmp_moved_constant_4 + jac_affine_inv_0_1_WHITE_DOWN*tmp_moved_constant_9 + jac_affine_inv_0_2_WHITE_DOWN*tmp_moved_constant_14 + jac_affine_inv_1_0_WHITE_DOWN*tmp_moved_constant_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_moved_constant_9 + jac_affine_inv_1_2_WHITE_DOWN*tmp_moved_constant_14 + jac_affine_inv_2_0_WHITE_DOWN*tmp_moved_constant_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_moved_constant_9 + jac_affine_inv_2_2_WHITE_DOWN*tmp_moved_constant_14;
+       const real_t tmp_moved_constant_16 = (jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN)*4.0 + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN)*4.0 + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)*4.0;
+       const real_t tmp_moved_constant_17 = (jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN)*4.0 + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN)*4.0 + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)*4.0;
+       const real_t tmp_moved_constant_18 = (jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN)*4.0 + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN)*4.0 + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)*4.0;
+       const real_t tmp_moved_constant_19 = jac_affine_inv_2_0_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_20 = jac_affine_inv_2_1_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_21 = jac_affine_inv_2_2_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_22 = jac_affine_inv_1_0_WHITE_DOWN*tmp_moved_constant_19 + jac_affine_inv_1_1_WHITE_DOWN*tmp_moved_constant_20 + jac_affine_inv_1_2_WHITE_DOWN*tmp_moved_constant_21;
+       const real_t tmp_moved_constant_23 = jac_affine_inv_0_0_WHITE_DOWN*tmp_moved_constant_19 + jac_affine_inv_0_1_WHITE_DOWN*tmp_moved_constant_20 + jac_affine_inv_0_2_WHITE_DOWN*tmp_moved_constant_21;
+       const real_t tmp_moved_constant_24 = jac_affine_inv_1_0_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_25 = jac_affine_inv_1_1_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_26 = jac_affine_inv_1_2_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_27 = jac_affine_inv_0_0_WHITE_DOWN*tmp_moved_constant_24 + jac_affine_inv_0_1_WHITE_DOWN*tmp_moved_constant_25 + jac_affine_inv_0_2_WHITE_DOWN*tmp_moved_constant_26;
+       const real_t tmp_moved_constant_28 = jac_affine_inv_2_0_WHITE_DOWN*tmp_moved_constant_2 + jac_affine_inv_2_1_WHITE_DOWN*tmp_moved_constant_7 + jac_affine_inv_2_2_WHITE_DOWN*tmp_moved_constant_12;
+       const real_t tmp_moved_constant_29 = jac_affine_inv_2_0_WHITE_DOWN*tmp_moved_constant_1 + jac_affine_inv_2_1_WHITE_DOWN*tmp_moved_constant_6 + jac_affine_inv_2_2_WHITE_DOWN*tmp_moved_constant_11;
+       const real_t tmp_moved_constant_30 = jac_affine_inv_2_0_WHITE_DOWN*(-tmp_moved_constant_19 - tmp_moved_constant_3) + jac_affine_inv_2_1_WHITE_DOWN*(-tmp_moved_constant_20 - tmp_moved_constant_8) + jac_affine_inv_2_2_WHITE_DOWN*(-tmp_moved_constant_13 - tmp_moved_constant_21) - tmp_moved_constant_28 - tmp_moved_constant_29;
+       const real_t tmp_moved_constant_31 = jac_affine_inv_1_0_WHITE_DOWN*tmp_moved_constant_1 + jac_affine_inv_1_1_WHITE_DOWN*tmp_moved_constant_6 + jac_affine_inv_1_2_WHITE_DOWN*tmp_moved_constant_11;
+       const real_t tmp_moved_constant_32 = jac_affine_inv_1_0_WHITE_DOWN*(-tmp_moved_constant_0 - tmp_moved_constant_1 - tmp_moved_constant_24) + jac_affine_inv_1_1_WHITE_DOWN*(-tmp_moved_constant_25 - tmp_moved_constant_5 - tmp_moved_constant_6) + jac_affine_inv_1_2_WHITE_DOWN*(-tmp_moved_constant_10 - tmp_moved_constant_11 - tmp_moved_constant_26) - tmp_moved_constant_28 - tmp_moved_constant_31;
+       const real_t tmp_moved_constant_33 = jac_affine_inv_0_0_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*-8.0 - tmp_moved_constant_0 - tmp_moved_constant_2) + jac_affine_inv_0_1_WHITE_DOWN*(jac_affine_inv_0_1_WHITE_DOWN*-8.0 - tmp_moved_constant_5 - tmp_moved_constant_7) + jac_affine_inv_0_2_WHITE_DOWN*(jac_affine_inv_0_2_WHITE_DOWN*-8.0 - tmp_moved_constant_10 - tmp_moved_constant_12) - tmp_moved_constant_29 - tmp_moved_constant_31;
+       {
+          /* CellType.WHITE_DOWN */
+          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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_16 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_17 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_18 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18;
+                const real_t tmp_qloop_20 = tmp_qloop_16 + tmp_qloop_19 - 3.0;
+                const real_t tmp_qloop_21 = tmp_qloop_17*_data_q_p_1[q];
+                const real_t tmp_qloop_22 = tmp_qloop_17*_data_q_p_2[q];
+                const real_t tmp_qloop_23 = tmp_qloop_18*_data_q_p_2[q];
+                const real_t tmp_qloop_24 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_25 = tmp_qloop_24*2.0;
+                const real_t tmp_qloop_26 = tmp_qloop_25 - _data_q_p_0[q];
+                const real_t tmp_qloop_27 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_28 = tmp_qloop_27*2.0;
+                const real_t tmp_qloop_29 = tmp_qloop_28 - _data_q_p_1[q];
+                const real_t tmp_qloop_30 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_31 = tmp_qloop_30*2.0;
+                const real_t tmp_qloop_32 = tmp_qloop_31 - _data_q_p_2[q];
+                const real_t tmp_qloop_33 = tmp_qloop_16 - tmp_qloop_22 - tmp_qloop_23 + tmp_qloop_30*-4.0;
+                const real_t tmp_qloop_34 = tmp_qloop_18 - tmp_qloop_21 - tmp_qloop_23 + tmp_qloop_27*-4.0;
+                const real_t tmp_qloop_35 = tmp_qloop_21 + tmp_qloop_22;
+                const real_t tmp_qloop_36 = tmp_qloop_17 + tmp_qloop_24*-4.0 - tmp_qloop_35;
+                const real_t tmp_qloop_37 = tmp_qloop_23 + tmp_qloop_25 + tmp_qloop_28 + tmp_qloop_31 + tmp_qloop_35 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                const real_t tmp_qloop_38 = tmp_qloop_21*wx_dof_6 + tmp_qloop_22*wx_dof_5 + tmp_qloop_23*wx_dof_4 + tmp_qloop_26*wx_dof_1 + tmp_qloop_29*wx_dof_2 + tmp_qloop_32*wx_dof_3 + tmp_qloop_33*wx_dof_7 + tmp_qloop_34*wx_dof_8 + tmp_qloop_36*wx_dof_9 + tmp_qloop_37*wx_dof_0;
+                const real_t tmp_qloop_39 = tmp_qloop_21*wy_dof_6 + tmp_qloop_22*wy_dof_5 + tmp_qloop_23*wy_dof_4 + tmp_qloop_26*wy_dof_1 + tmp_qloop_29*wy_dof_2 + tmp_qloop_32*wy_dof_3 + tmp_qloop_33*wy_dof_7 + tmp_qloop_34*wy_dof_8 + tmp_qloop_36*wy_dof_9 + tmp_qloop_37*wy_dof_0;
+                const real_t tmp_qloop_40 = tmp_qloop_21*wz_dof_6 + tmp_qloop_22*wz_dof_5 + tmp_qloop_23*wz_dof_4 + tmp_qloop_26*wz_dof_1 + tmp_qloop_29*wz_dof_2 + tmp_qloop_32*wz_dof_3 + tmp_qloop_33*wz_dof_7 + tmp_qloop_34*wz_dof_8 + tmp_qloop_36*wz_dof_9 + tmp_qloop_37*wz_dof_0;
+                const real_t tmp_qloop_41 = abs_det_jac_affine_WHITE_DOWN*(diffusivity_times_delta_dof_0*tmp_qloop_37 + diffusivity_times_delta_dof_1*tmp_qloop_26 + diffusivity_times_delta_dof_2*tmp_qloop_29 + diffusivity_times_delta_dof_3*tmp_qloop_32 + diffusivity_times_delta_dof_4*tmp_qloop_23 + diffusivity_times_delta_dof_5*tmp_qloop_22 + diffusivity_times_delta_dof_6*tmp_qloop_21 + diffusivity_times_delta_dof_7*tmp_qloop_33 + diffusivity_times_delta_dof_8*tmp_qloop_34 + diffusivity_times_delta_dof_9*tmp_qloop_36)*_data_q_w[q];
+                const real_t tmp_qloop_42 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_20 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_20 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_20) + tmp_qloop_39*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_20 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_20 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_20) + tmp_qloop_40*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_20 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_20 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_20));
+                const real_t tmp_qloop_61 = tmp_qloop_17 - 1.0;
+                const real_t tmp_qloop_62 = tmp_qloop_41*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_38*tmp_qloop_61 + jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_39*tmp_qloop_61 + jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_40*tmp_qloop_61);
+                const real_t tmp_qloop_63 = tmp_qloop_18 - 1.0;
+                const real_t tmp_qloop_64 = tmp_qloop_41*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_38*tmp_qloop_63 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_39*tmp_qloop_63 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_40*tmp_qloop_63);
+                const real_t tmp_qloop_65 = tmp_qloop_16 - 1.0;
+                const real_t tmp_qloop_66 = tmp_qloop_41*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_38*tmp_qloop_65 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_39*tmp_qloop_65 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_40*tmp_qloop_65);
+                const real_t tmp_qloop_67 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_68 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_69 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_70 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_71 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_72 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_73 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_67 + tmp_qloop_68) + tmp_qloop_39*(tmp_qloop_69 + tmp_qloop_70) + tmp_qloop_40*(tmp_qloop_71 + tmp_qloop_72));
+                const real_t tmp_qloop_74 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_75 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_76 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_77 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_78 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_79 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_80 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_74 + tmp_qloop_75) + tmp_qloop_39*(tmp_qloop_76 + tmp_qloop_77) + tmp_qloop_40*(tmp_qloop_78 + tmp_qloop_79));
+                const real_t tmp_qloop_81 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_82 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_83 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_84 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_85 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_86 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_87 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_81 + tmp_qloop_82) + tmp_qloop_39*(tmp_qloop_83 + tmp_qloop_84) + tmp_qloop_40*(tmp_qloop_85 + tmp_qloop_86));
+                const real_t tmp_qloop_88 = -tmp_qloop_19 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_89 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_88 - tmp_qloop_68 - tmp_qloop_75) + tmp_qloop_39*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_88 - tmp_qloop_70 - tmp_qloop_77) + tmp_qloop_40*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_88 - tmp_qloop_72 - tmp_qloop_79));
+                const real_t tmp_qloop_90 = tmp_qloop_16 - 4.0;
+                const real_t tmp_qloop_91 = -tmp_qloop_17 - tmp_qloop_90 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_92 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_91 - tmp_qloop_67 - tmp_qloop_82) + tmp_qloop_39*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_91 - tmp_qloop_69 - tmp_qloop_84) + tmp_qloop_40*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_91 - tmp_qloop_71 - tmp_qloop_86));
+                const real_t tmp_qloop_93 = -tmp_qloop_18 - tmp_qloop_90 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_94 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_93 - tmp_qloop_74 - tmp_qloop_81) + tmp_qloop_39*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_93 - tmp_qloop_76 - tmp_qloop_83) + tmp_qloop_40*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_93 - tmp_qloop_78 - tmp_qloop_85));
+                const real_t q_tmp_0_0 = tmp_moved_constant_15*tmp_qloop_42;
+                const real_t q_tmp_0_1 = tmp_moved_constant_16*tmp_qloop_42;
+                const real_t q_tmp_0_2 = tmp_moved_constant_17*tmp_qloop_42;
+                const real_t q_tmp_0_3 = tmp_moved_constant_18*tmp_qloop_42;
+                const real_t q_tmp_0_4 = tmp_moved_constant_22*tmp_qloop_42;
+                const real_t q_tmp_0_5 = tmp_moved_constant_23*tmp_qloop_42;
+                const real_t q_tmp_0_6 = tmp_moved_constant_27*tmp_qloop_42;
+                const real_t q_tmp_0_7 = tmp_moved_constant_30*tmp_qloop_42;
+                const real_t q_tmp_0_8 = tmp_moved_constant_32*tmp_qloop_42;
+                const real_t q_tmp_0_9 = tmp_moved_constant_33*tmp_qloop_42;
+                const real_t q_tmp_1_0 = tmp_moved_constant_15*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_moved_constant_16*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_moved_constant_17*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_moved_constant_18*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_moved_constant_22*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_moved_constant_23*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_moved_constant_27*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_moved_constant_30*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_moved_constant_32*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_moved_constant_33*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_moved_constant_15*tmp_qloop_64;
+                const real_t q_tmp_2_1 = tmp_moved_constant_16*tmp_qloop_64;
+                const real_t q_tmp_2_2 = tmp_moved_constant_17*tmp_qloop_64;
+                const real_t q_tmp_2_3 = tmp_moved_constant_18*tmp_qloop_64;
+                const real_t q_tmp_2_4 = tmp_moved_constant_22*tmp_qloop_64;
+                const real_t q_tmp_2_5 = tmp_moved_constant_23*tmp_qloop_64;
+                const real_t q_tmp_2_6 = tmp_moved_constant_27*tmp_qloop_64;
+                const real_t q_tmp_2_7 = tmp_moved_constant_30*tmp_qloop_64;
+                const real_t q_tmp_2_8 = tmp_moved_constant_32*tmp_qloop_64;
+                const real_t q_tmp_2_9 = tmp_moved_constant_33*tmp_qloop_64;
+                const real_t q_tmp_3_0 = tmp_moved_constant_15*tmp_qloop_66;
+                const real_t q_tmp_3_1 = tmp_moved_constant_16*tmp_qloop_66;
+                const real_t q_tmp_3_2 = tmp_moved_constant_17*tmp_qloop_66;
+                const real_t q_tmp_3_3 = tmp_moved_constant_18*tmp_qloop_66;
+                const real_t q_tmp_3_4 = tmp_moved_constant_22*tmp_qloop_66;
+                const real_t q_tmp_3_5 = tmp_moved_constant_23*tmp_qloop_66;
+                const real_t q_tmp_3_6 = tmp_moved_constant_27*tmp_qloop_66;
+                const real_t q_tmp_3_7 = tmp_moved_constant_30*tmp_qloop_66;
+                const real_t q_tmp_3_8 = tmp_moved_constant_32*tmp_qloop_66;
+                const real_t q_tmp_3_9 = tmp_moved_constant_33*tmp_qloop_66;
+                const real_t q_tmp_4_0 = tmp_moved_constant_15*tmp_qloop_73;
+                const real_t q_tmp_4_1 = tmp_moved_constant_16*tmp_qloop_73;
+                const real_t q_tmp_4_2 = tmp_moved_constant_17*tmp_qloop_73;
+                const real_t q_tmp_4_3 = tmp_moved_constant_18*tmp_qloop_73;
+                const real_t q_tmp_4_4 = tmp_moved_constant_22*tmp_qloop_73;
+                const real_t q_tmp_4_5 = tmp_moved_constant_23*tmp_qloop_73;
+                const real_t q_tmp_4_6 = tmp_moved_constant_27*tmp_qloop_73;
+                const real_t q_tmp_4_7 = tmp_moved_constant_30*tmp_qloop_73;
+                const real_t q_tmp_4_8 = tmp_moved_constant_32*tmp_qloop_73;
+                const real_t q_tmp_4_9 = tmp_moved_constant_33*tmp_qloop_73;
+                const real_t q_tmp_5_0 = tmp_moved_constant_15*tmp_qloop_80;
+                const real_t q_tmp_5_1 = tmp_moved_constant_16*tmp_qloop_80;
+                const real_t q_tmp_5_2 = tmp_moved_constant_17*tmp_qloop_80;
+                const real_t q_tmp_5_3 = tmp_moved_constant_18*tmp_qloop_80;
+                const real_t q_tmp_5_4 = tmp_moved_constant_22*tmp_qloop_80;
+                const real_t q_tmp_5_5 = tmp_moved_constant_23*tmp_qloop_80;
+                const real_t q_tmp_5_6 = tmp_moved_constant_27*tmp_qloop_80;
+                const real_t q_tmp_5_7 = tmp_moved_constant_30*tmp_qloop_80;
+                const real_t q_tmp_5_8 = tmp_moved_constant_32*tmp_qloop_80;
+                const real_t q_tmp_5_9 = tmp_moved_constant_33*tmp_qloop_80;
+                const real_t q_tmp_6_0 = tmp_moved_constant_15*tmp_qloop_87;
+                const real_t q_tmp_6_1 = tmp_moved_constant_16*tmp_qloop_87;
+                const real_t q_tmp_6_2 = tmp_moved_constant_17*tmp_qloop_87;
+                const real_t q_tmp_6_3 = tmp_moved_constant_18*tmp_qloop_87;
+                const real_t q_tmp_6_4 = tmp_moved_constant_22*tmp_qloop_87;
+                const real_t q_tmp_6_5 = tmp_moved_constant_23*tmp_qloop_87;
+                const real_t q_tmp_6_6 = tmp_moved_constant_27*tmp_qloop_87;
+                const real_t q_tmp_6_7 = tmp_moved_constant_30*tmp_qloop_87;
+                const real_t q_tmp_6_8 = tmp_moved_constant_32*tmp_qloop_87;
+                const real_t q_tmp_6_9 = tmp_moved_constant_33*tmp_qloop_87;
+                const real_t q_tmp_7_0 = tmp_moved_constant_15*tmp_qloop_89;
+                const real_t q_tmp_7_1 = tmp_moved_constant_16*tmp_qloop_89;
+                const real_t q_tmp_7_2 = tmp_moved_constant_17*tmp_qloop_89;
+                const real_t q_tmp_7_3 = tmp_moved_constant_18*tmp_qloop_89;
+                const real_t q_tmp_7_4 = tmp_moved_constant_22*tmp_qloop_89;
+                const real_t q_tmp_7_5 = tmp_moved_constant_23*tmp_qloop_89;
+                const real_t q_tmp_7_6 = tmp_moved_constant_27*tmp_qloop_89;
+                const real_t q_tmp_7_7 = tmp_moved_constant_30*tmp_qloop_89;
+                const real_t q_tmp_7_8 = tmp_moved_constant_32*tmp_qloop_89;
+                const real_t q_tmp_7_9 = tmp_moved_constant_33*tmp_qloop_89;
+                const real_t q_tmp_8_0 = tmp_moved_constant_15*tmp_qloop_92;
+                const real_t q_tmp_8_1 = tmp_moved_constant_16*tmp_qloop_92;
+                const real_t q_tmp_8_2 = tmp_moved_constant_17*tmp_qloop_92;
+                const real_t q_tmp_8_3 = tmp_moved_constant_18*tmp_qloop_92;
+                const real_t q_tmp_8_4 = tmp_moved_constant_22*tmp_qloop_92;
+                const real_t q_tmp_8_5 = tmp_moved_constant_23*tmp_qloop_92;
+                const real_t q_tmp_8_6 = tmp_moved_constant_27*tmp_qloop_92;
+                const real_t q_tmp_8_7 = tmp_moved_constant_30*tmp_qloop_92;
+                const real_t q_tmp_8_8 = tmp_moved_constant_32*tmp_qloop_92;
+                const real_t q_tmp_8_9 = tmp_moved_constant_33*tmp_qloop_92;
+                const real_t q_tmp_9_0 = tmp_moved_constant_15*tmp_qloop_94;
+                const real_t q_tmp_9_1 = tmp_moved_constant_16*tmp_qloop_94;
+                const real_t q_tmp_9_2 = tmp_moved_constant_17*tmp_qloop_94;
+                const real_t q_tmp_9_3 = tmp_moved_constant_18*tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_moved_constant_22*tmp_qloop_94;
+                const real_t q_tmp_9_5 = tmp_moved_constant_23*tmp_qloop_94;
+                const real_t q_tmp_9_6 = tmp_moved_constant_27*tmp_qloop_94;
+                const real_t q_tmp_9_7 = tmp_moved_constant_30*tmp_qloop_94;
+                const real_t q_tmp_9_8 = tmp_moved_constant_32*tmp_qloop_94;
+                const real_t q_tmp_9_9 = tmp_moved_constant_33*tmp_qloop_94;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+             const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+             const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+             const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+             const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+             const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+             _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_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 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_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 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_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 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP;
+       const real_t tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP);
+       const real_t jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP);
+       const real_t jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP);
+       const real_t jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP);
+       const real_t jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP);
+       const real_t tmp_moved_constant_34 = jac_affine_inv_2_0_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_35 = jac_affine_inv_0_0_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_36 = jac_affine_inv_1_0_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_37 = tmp_moved_constant_35 + tmp_moved_constant_36;
+       const real_t tmp_moved_constant_38 = tmp_moved_constant_34 + tmp_moved_constant_37;
+       const real_t tmp_moved_constant_39 = jac_affine_inv_2_1_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_40 = jac_affine_inv_0_1_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_41 = jac_affine_inv_1_1_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_42 = tmp_moved_constant_40 + tmp_moved_constant_41;
+       const real_t tmp_moved_constant_43 = tmp_moved_constant_39 + tmp_moved_constant_42;
+       const real_t tmp_moved_constant_44 = jac_affine_inv_2_2_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_45 = jac_affine_inv_0_2_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_46 = jac_affine_inv_1_2_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_47 = tmp_moved_constant_45 + tmp_moved_constant_46;
+       const real_t tmp_moved_constant_48 = tmp_moved_constant_44 + tmp_moved_constant_47;
+       const real_t tmp_moved_constant_49 = jac_affine_inv_0_0_BLUE_UP*tmp_moved_constant_38 + jac_affine_inv_0_1_BLUE_UP*tmp_moved_constant_43 + jac_affine_inv_0_2_BLUE_UP*tmp_moved_constant_48 + jac_affine_inv_1_0_BLUE_UP*tmp_moved_constant_38 + jac_affine_inv_1_1_BLUE_UP*tmp_moved_constant_43 + jac_affine_inv_1_2_BLUE_UP*tmp_moved_constant_48 + jac_affine_inv_2_0_BLUE_UP*tmp_moved_constant_38 + jac_affine_inv_2_1_BLUE_UP*tmp_moved_constant_43 + jac_affine_inv_2_2_BLUE_UP*tmp_moved_constant_48;
+       const real_t tmp_moved_constant_50 = (jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP)*4.0 + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP)*4.0 + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)*4.0;
+       const real_t tmp_moved_constant_51 = (jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP)*4.0 + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP)*4.0 + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)*4.0;
+       const real_t tmp_moved_constant_52 = (jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP)*4.0 + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP)*4.0 + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)*4.0;
+       const real_t tmp_moved_constant_53 = jac_affine_inv_2_0_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_54 = jac_affine_inv_2_1_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_55 = jac_affine_inv_2_2_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_56 = jac_affine_inv_1_0_BLUE_UP*tmp_moved_constant_53 + jac_affine_inv_1_1_BLUE_UP*tmp_moved_constant_54 + jac_affine_inv_1_2_BLUE_UP*tmp_moved_constant_55;
+       const real_t tmp_moved_constant_57 = jac_affine_inv_0_0_BLUE_UP*tmp_moved_constant_53 + jac_affine_inv_0_1_BLUE_UP*tmp_moved_constant_54 + jac_affine_inv_0_2_BLUE_UP*tmp_moved_constant_55;
+       const real_t tmp_moved_constant_58 = jac_affine_inv_1_0_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_59 = jac_affine_inv_1_1_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_60 = jac_affine_inv_1_2_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_61 = jac_affine_inv_0_0_BLUE_UP*tmp_moved_constant_58 + jac_affine_inv_0_1_BLUE_UP*tmp_moved_constant_59 + jac_affine_inv_0_2_BLUE_UP*tmp_moved_constant_60;
+       const real_t tmp_moved_constant_62 = jac_affine_inv_2_0_BLUE_UP*tmp_moved_constant_36 + jac_affine_inv_2_1_BLUE_UP*tmp_moved_constant_41 + jac_affine_inv_2_2_BLUE_UP*tmp_moved_constant_46;
+       const real_t tmp_moved_constant_63 = jac_affine_inv_2_0_BLUE_UP*tmp_moved_constant_35 + jac_affine_inv_2_1_BLUE_UP*tmp_moved_constant_40 + jac_affine_inv_2_2_BLUE_UP*tmp_moved_constant_45;
+       const real_t tmp_moved_constant_64 = jac_affine_inv_2_0_BLUE_UP*(-tmp_moved_constant_37 - tmp_moved_constant_53) + jac_affine_inv_2_1_BLUE_UP*(-tmp_moved_constant_42 - tmp_moved_constant_54) + jac_affine_inv_2_2_BLUE_UP*(-tmp_moved_constant_47 - tmp_moved_constant_55) - tmp_moved_constant_62 - tmp_moved_constant_63;
+       const real_t tmp_moved_constant_65 = jac_affine_inv_1_0_BLUE_UP*tmp_moved_constant_35 + jac_affine_inv_1_1_BLUE_UP*tmp_moved_constant_40 + jac_affine_inv_1_2_BLUE_UP*tmp_moved_constant_45;
+       const real_t tmp_moved_constant_66 = jac_affine_inv_1_0_BLUE_UP*(-tmp_moved_constant_34 - tmp_moved_constant_35 - tmp_moved_constant_58) + jac_affine_inv_1_1_BLUE_UP*(-tmp_moved_constant_39 - tmp_moved_constant_40 - tmp_moved_constant_59) + jac_affine_inv_1_2_BLUE_UP*(-tmp_moved_constant_44 - tmp_moved_constant_45 - tmp_moved_constant_60) - tmp_moved_constant_62 - tmp_moved_constant_65;
+       const real_t tmp_moved_constant_67 = jac_affine_inv_0_0_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*-8.0 - tmp_moved_constant_34 - tmp_moved_constant_36) + jac_affine_inv_0_1_BLUE_UP*(jac_affine_inv_0_1_BLUE_UP*-8.0 - tmp_moved_constant_39 - tmp_moved_constant_41) + jac_affine_inv_0_2_BLUE_UP*(jac_affine_inv_0_2_BLUE_UP*-8.0 - tmp_moved_constant_44 - tmp_moved_constant_46) - tmp_moved_constant_63 - tmp_moved_constant_65;
+       {
+          /* CellType.BLUE_UP */
+          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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_16 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_17 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_18 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18;
+                const real_t tmp_qloop_20 = tmp_qloop_16 + tmp_qloop_19 - 3.0;
+                const real_t tmp_qloop_21 = tmp_qloop_17*_data_q_p_1[q];
+                const real_t tmp_qloop_22 = tmp_qloop_17*_data_q_p_2[q];
+                const real_t tmp_qloop_23 = tmp_qloop_18*_data_q_p_2[q];
+                const real_t tmp_qloop_24 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_25 = tmp_qloop_24*2.0;
+                const real_t tmp_qloop_26 = tmp_qloop_25 - _data_q_p_0[q];
+                const real_t tmp_qloop_27 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_28 = tmp_qloop_27*2.0;
+                const real_t tmp_qloop_29 = tmp_qloop_28 - _data_q_p_1[q];
+                const real_t tmp_qloop_30 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_31 = tmp_qloop_30*2.0;
+                const real_t tmp_qloop_32 = tmp_qloop_31 - _data_q_p_2[q];
+                const real_t tmp_qloop_33 = tmp_qloop_16 - tmp_qloop_22 - tmp_qloop_23 + tmp_qloop_30*-4.0;
+                const real_t tmp_qloop_34 = tmp_qloop_18 - tmp_qloop_21 - tmp_qloop_23 + tmp_qloop_27*-4.0;
+                const real_t tmp_qloop_35 = tmp_qloop_21 + tmp_qloop_22;
+                const real_t tmp_qloop_36 = tmp_qloop_17 + tmp_qloop_24*-4.0 - tmp_qloop_35;
+                const real_t tmp_qloop_37 = tmp_qloop_23 + tmp_qloop_25 + tmp_qloop_28 + tmp_qloop_31 + tmp_qloop_35 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                const real_t tmp_qloop_38 = tmp_qloop_21*wx_dof_6 + tmp_qloop_22*wx_dof_5 + tmp_qloop_23*wx_dof_4 + tmp_qloop_26*wx_dof_1 + tmp_qloop_29*wx_dof_2 + tmp_qloop_32*wx_dof_3 + tmp_qloop_33*wx_dof_7 + tmp_qloop_34*wx_dof_8 + tmp_qloop_36*wx_dof_9 + tmp_qloop_37*wx_dof_0;
+                const real_t tmp_qloop_39 = tmp_qloop_21*wy_dof_6 + tmp_qloop_22*wy_dof_5 + tmp_qloop_23*wy_dof_4 + tmp_qloop_26*wy_dof_1 + tmp_qloop_29*wy_dof_2 + tmp_qloop_32*wy_dof_3 + tmp_qloop_33*wy_dof_7 + tmp_qloop_34*wy_dof_8 + tmp_qloop_36*wy_dof_9 + tmp_qloop_37*wy_dof_0;
+                const real_t tmp_qloop_40 = tmp_qloop_21*wz_dof_6 + tmp_qloop_22*wz_dof_5 + tmp_qloop_23*wz_dof_4 + tmp_qloop_26*wz_dof_1 + tmp_qloop_29*wz_dof_2 + tmp_qloop_32*wz_dof_3 + tmp_qloop_33*wz_dof_7 + tmp_qloop_34*wz_dof_8 + tmp_qloop_36*wz_dof_9 + tmp_qloop_37*wz_dof_0;
+                const real_t tmp_qloop_41 = abs_det_jac_affine_BLUE_UP*(diffusivity_times_delta_dof_0*tmp_qloop_37 + diffusivity_times_delta_dof_1*tmp_qloop_26 + diffusivity_times_delta_dof_2*tmp_qloop_29 + diffusivity_times_delta_dof_3*tmp_qloop_32 + diffusivity_times_delta_dof_4*tmp_qloop_23 + diffusivity_times_delta_dof_5*tmp_qloop_22 + diffusivity_times_delta_dof_6*tmp_qloop_21 + diffusivity_times_delta_dof_7*tmp_qloop_33 + diffusivity_times_delta_dof_8*tmp_qloop_34 + diffusivity_times_delta_dof_9*tmp_qloop_36)*_data_q_w[q];
+                const real_t tmp_qloop_42 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_20 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_20 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_20) + tmp_qloop_39*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_20 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_20 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_20) + tmp_qloop_40*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_20 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_20 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_20));
+                const real_t tmp_qloop_61 = tmp_qloop_17 - 1.0;
+                const real_t tmp_qloop_62 = tmp_qloop_41*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_38*tmp_qloop_61 + jac_affine_inv_0_1_BLUE_UP*tmp_qloop_39*tmp_qloop_61 + jac_affine_inv_0_2_BLUE_UP*tmp_qloop_40*tmp_qloop_61);
+                const real_t tmp_qloop_63 = tmp_qloop_18 - 1.0;
+                const real_t tmp_qloop_64 = tmp_qloop_41*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_38*tmp_qloop_63 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_39*tmp_qloop_63 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_40*tmp_qloop_63);
+                const real_t tmp_qloop_65 = tmp_qloop_16 - 1.0;
+                const real_t tmp_qloop_66 = tmp_qloop_41*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_38*tmp_qloop_65 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_39*tmp_qloop_65 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_40*tmp_qloop_65);
+                const real_t tmp_qloop_67 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_68 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_69 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_70 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_71 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_72 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_73 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_67 + tmp_qloop_68) + tmp_qloop_39*(tmp_qloop_69 + tmp_qloop_70) + tmp_qloop_40*(tmp_qloop_71 + tmp_qloop_72));
+                const real_t tmp_qloop_74 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_75 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_76 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_77 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_78 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_79 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_80 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_74 + tmp_qloop_75) + tmp_qloop_39*(tmp_qloop_76 + tmp_qloop_77) + tmp_qloop_40*(tmp_qloop_78 + tmp_qloop_79));
+                const real_t tmp_qloop_81 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_82 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_83 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_84 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_85 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_86 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_87 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_81 + tmp_qloop_82) + tmp_qloop_39*(tmp_qloop_83 + tmp_qloop_84) + tmp_qloop_40*(tmp_qloop_85 + tmp_qloop_86));
+                const real_t tmp_qloop_88 = -tmp_qloop_19 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_89 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_88 - tmp_qloop_68 - tmp_qloop_75) + tmp_qloop_39*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_88 - tmp_qloop_70 - tmp_qloop_77) + tmp_qloop_40*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_88 - tmp_qloop_72 - tmp_qloop_79));
+                const real_t tmp_qloop_90 = tmp_qloop_16 - 4.0;
+                const real_t tmp_qloop_91 = -tmp_qloop_17 - tmp_qloop_90 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_92 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_91 - tmp_qloop_67 - tmp_qloop_82) + tmp_qloop_39*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_91 - tmp_qloop_69 - tmp_qloop_84) + tmp_qloop_40*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_91 - tmp_qloop_71 - tmp_qloop_86));
+                const real_t tmp_qloop_93 = -tmp_qloop_18 - tmp_qloop_90 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_94 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_93 - tmp_qloop_74 - tmp_qloop_81) + tmp_qloop_39*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_93 - tmp_qloop_76 - tmp_qloop_83) + tmp_qloop_40*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_93 - tmp_qloop_78 - tmp_qloop_85));
+                const real_t q_tmp_0_0 = tmp_moved_constant_49*tmp_qloop_42;
+                const real_t q_tmp_0_1 = tmp_moved_constant_50*tmp_qloop_42;
+                const real_t q_tmp_0_2 = tmp_moved_constant_51*tmp_qloop_42;
+                const real_t q_tmp_0_3 = tmp_moved_constant_52*tmp_qloop_42;
+                const real_t q_tmp_0_4 = tmp_moved_constant_56*tmp_qloop_42;
+                const real_t q_tmp_0_5 = tmp_moved_constant_57*tmp_qloop_42;
+                const real_t q_tmp_0_6 = tmp_moved_constant_61*tmp_qloop_42;
+                const real_t q_tmp_0_7 = tmp_moved_constant_64*tmp_qloop_42;
+                const real_t q_tmp_0_8 = tmp_moved_constant_66*tmp_qloop_42;
+                const real_t q_tmp_0_9 = tmp_moved_constant_67*tmp_qloop_42;
+                const real_t q_tmp_1_0 = tmp_moved_constant_49*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_moved_constant_50*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_moved_constant_51*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_moved_constant_52*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_moved_constant_56*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_moved_constant_57*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_moved_constant_61*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_moved_constant_64*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_moved_constant_66*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_moved_constant_67*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_moved_constant_49*tmp_qloop_64;
+                const real_t q_tmp_2_1 = tmp_moved_constant_50*tmp_qloop_64;
+                const real_t q_tmp_2_2 = tmp_moved_constant_51*tmp_qloop_64;
+                const real_t q_tmp_2_3 = tmp_moved_constant_52*tmp_qloop_64;
+                const real_t q_tmp_2_4 = tmp_moved_constant_56*tmp_qloop_64;
+                const real_t q_tmp_2_5 = tmp_moved_constant_57*tmp_qloop_64;
+                const real_t q_tmp_2_6 = tmp_moved_constant_61*tmp_qloop_64;
+                const real_t q_tmp_2_7 = tmp_moved_constant_64*tmp_qloop_64;
+                const real_t q_tmp_2_8 = tmp_moved_constant_66*tmp_qloop_64;
+                const real_t q_tmp_2_9 = tmp_moved_constant_67*tmp_qloop_64;
+                const real_t q_tmp_3_0 = tmp_moved_constant_49*tmp_qloop_66;
+                const real_t q_tmp_3_1 = tmp_moved_constant_50*tmp_qloop_66;
+                const real_t q_tmp_3_2 = tmp_moved_constant_51*tmp_qloop_66;
+                const real_t q_tmp_3_3 = tmp_moved_constant_52*tmp_qloop_66;
+                const real_t q_tmp_3_4 = tmp_moved_constant_56*tmp_qloop_66;
+                const real_t q_tmp_3_5 = tmp_moved_constant_57*tmp_qloop_66;
+                const real_t q_tmp_3_6 = tmp_moved_constant_61*tmp_qloop_66;
+                const real_t q_tmp_3_7 = tmp_moved_constant_64*tmp_qloop_66;
+                const real_t q_tmp_3_8 = tmp_moved_constant_66*tmp_qloop_66;
+                const real_t q_tmp_3_9 = tmp_moved_constant_67*tmp_qloop_66;
+                const real_t q_tmp_4_0 = tmp_moved_constant_49*tmp_qloop_73;
+                const real_t q_tmp_4_1 = tmp_moved_constant_50*tmp_qloop_73;
+                const real_t q_tmp_4_2 = tmp_moved_constant_51*tmp_qloop_73;
+                const real_t q_tmp_4_3 = tmp_moved_constant_52*tmp_qloop_73;
+                const real_t q_tmp_4_4 = tmp_moved_constant_56*tmp_qloop_73;
+                const real_t q_tmp_4_5 = tmp_moved_constant_57*tmp_qloop_73;
+                const real_t q_tmp_4_6 = tmp_moved_constant_61*tmp_qloop_73;
+                const real_t q_tmp_4_7 = tmp_moved_constant_64*tmp_qloop_73;
+                const real_t q_tmp_4_8 = tmp_moved_constant_66*tmp_qloop_73;
+                const real_t q_tmp_4_9 = tmp_moved_constant_67*tmp_qloop_73;
+                const real_t q_tmp_5_0 = tmp_moved_constant_49*tmp_qloop_80;
+                const real_t q_tmp_5_1 = tmp_moved_constant_50*tmp_qloop_80;
+                const real_t q_tmp_5_2 = tmp_moved_constant_51*tmp_qloop_80;
+                const real_t q_tmp_5_3 = tmp_moved_constant_52*tmp_qloop_80;
+                const real_t q_tmp_5_4 = tmp_moved_constant_56*tmp_qloop_80;
+                const real_t q_tmp_5_5 = tmp_moved_constant_57*tmp_qloop_80;
+                const real_t q_tmp_5_6 = tmp_moved_constant_61*tmp_qloop_80;
+                const real_t q_tmp_5_7 = tmp_moved_constant_64*tmp_qloop_80;
+                const real_t q_tmp_5_8 = tmp_moved_constant_66*tmp_qloop_80;
+                const real_t q_tmp_5_9 = tmp_moved_constant_67*tmp_qloop_80;
+                const real_t q_tmp_6_0 = tmp_moved_constant_49*tmp_qloop_87;
+                const real_t q_tmp_6_1 = tmp_moved_constant_50*tmp_qloop_87;
+                const real_t q_tmp_6_2 = tmp_moved_constant_51*tmp_qloop_87;
+                const real_t q_tmp_6_3 = tmp_moved_constant_52*tmp_qloop_87;
+                const real_t q_tmp_6_4 = tmp_moved_constant_56*tmp_qloop_87;
+                const real_t q_tmp_6_5 = tmp_moved_constant_57*tmp_qloop_87;
+                const real_t q_tmp_6_6 = tmp_moved_constant_61*tmp_qloop_87;
+                const real_t q_tmp_6_7 = tmp_moved_constant_64*tmp_qloop_87;
+                const real_t q_tmp_6_8 = tmp_moved_constant_66*tmp_qloop_87;
+                const real_t q_tmp_6_9 = tmp_moved_constant_67*tmp_qloop_87;
+                const real_t q_tmp_7_0 = tmp_moved_constant_49*tmp_qloop_89;
+                const real_t q_tmp_7_1 = tmp_moved_constant_50*tmp_qloop_89;
+                const real_t q_tmp_7_2 = tmp_moved_constant_51*tmp_qloop_89;
+                const real_t q_tmp_7_3 = tmp_moved_constant_52*tmp_qloop_89;
+                const real_t q_tmp_7_4 = tmp_moved_constant_56*tmp_qloop_89;
+                const real_t q_tmp_7_5 = tmp_moved_constant_57*tmp_qloop_89;
+                const real_t q_tmp_7_6 = tmp_moved_constant_61*tmp_qloop_89;
+                const real_t q_tmp_7_7 = tmp_moved_constant_64*tmp_qloop_89;
+                const real_t q_tmp_7_8 = tmp_moved_constant_66*tmp_qloop_89;
+                const real_t q_tmp_7_9 = tmp_moved_constant_67*tmp_qloop_89;
+                const real_t q_tmp_8_0 = tmp_moved_constant_49*tmp_qloop_92;
+                const real_t q_tmp_8_1 = tmp_moved_constant_50*tmp_qloop_92;
+                const real_t q_tmp_8_2 = tmp_moved_constant_51*tmp_qloop_92;
+                const real_t q_tmp_8_3 = tmp_moved_constant_52*tmp_qloop_92;
+                const real_t q_tmp_8_4 = tmp_moved_constant_56*tmp_qloop_92;
+                const real_t q_tmp_8_5 = tmp_moved_constant_57*tmp_qloop_92;
+                const real_t q_tmp_8_6 = tmp_moved_constant_61*tmp_qloop_92;
+                const real_t q_tmp_8_7 = tmp_moved_constant_64*tmp_qloop_92;
+                const real_t q_tmp_8_8 = tmp_moved_constant_66*tmp_qloop_92;
+                const real_t q_tmp_8_9 = tmp_moved_constant_67*tmp_qloop_92;
+                const real_t q_tmp_9_0 = tmp_moved_constant_49*tmp_qloop_94;
+                const real_t q_tmp_9_1 = tmp_moved_constant_50*tmp_qloop_94;
+                const real_t q_tmp_9_2 = tmp_moved_constant_51*tmp_qloop_94;
+                const real_t q_tmp_9_3 = tmp_moved_constant_52*tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_moved_constant_56*tmp_qloop_94;
+                const real_t q_tmp_9_5 = tmp_moved_constant_57*tmp_qloop_94;
+                const real_t q_tmp_9_6 = tmp_moved_constant_61*tmp_qloop_94;
+                const real_t q_tmp_9_7 = tmp_moved_constant_64*tmp_qloop_94;
+                const real_t q_tmp_9_8 = tmp_moved_constant_66*tmp_qloop_94;
+                const real_t q_tmp_9_9 = tmp_moved_constant_67*tmp_qloop_94;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+             const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+             const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+             const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+             const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+             const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+             _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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] = elMatVec_7 + _data_dstEdge[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_dstEdge[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] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_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 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN;
+       const real_t tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN);
+       const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN);
+       const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN);
+       const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN);
+       const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN);
+       const real_t tmp_moved_constant_68 = jac_affine_inv_2_0_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_69 = jac_affine_inv_0_0_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_70 = jac_affine_inv_1_0_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_71 = tmp_moved_constant_69 + tmp_moved_constant_70;
+       const real_t tmp_moved_constant_72 = tmp_moved_constant_68 + tmp_moved_constant_71;
+       const real_t tmp_moved_constant_73 = jac_affine_inv_2_1_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_74 = jac_affine_inv_0_1_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_75 = jac_affine_inv_1_1_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_76 = tmp_moved_constant_74 + tmp_moved_constant_75;
+       const real_t tmp_moved_constant_77 = tmp_moved_constant_73 + tmp_moved_constant_76;
+       const real_t tmp_moved_constant_78 = jac_affine_inv_2_2_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_79 = jac_affine_inv_0_2_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_80 = jac_affine_inv_1_2_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_81 = tmp_moved_constant_79 + tmp_moved_constant_80;
+       const real_t tmp_moved_constant_82 = tmp_moved_constant_78 + tmp_moved_constant_81;
+       const real_t tmp_moved_constant_83 = jac_affine_inv_0_0_BLUE_DOWN*tmp_moved_constant_72 + jac_affine_inv_0_1_BLUE_DOWN*tmp_moved_constant_77 + jac_affine_inv_0_2_BLUE_DOWN*tmp_moved_constant_82 + jac_affine_inv_1_0_BLUE_DOWN*tmp_moved_constant_72 + jac_affine_inv_1_1_BLUE_DOWN*tmp_moved_constant_77 + jac_affine_inv_1_2_BLUE_DOWN*tmp_moved_constant_82 + jac_affine_inv_2_0_BLUE_DOWN*tmp_moved_constant_72 + jac_affine_inv_2_1_BLUE_DOWN*tmp_moved_constant_77 + jac_affine_inv_2_2_BLUE_DOWN*tmp_moved_constant_82;
+       const real_t tmp_moved_constant_84 = (jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN)*4.0 + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN)*4.0 + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)*4.0;
+       const real_t tmp_moved_constant_85 = (jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN)*4.0 + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN)*4.0 + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)*4.0;
+       const real_t tmp_moved_constant_86 = (jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN)*4.0 + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN)*4.0 + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)*4.0;
+       const real_t tmp_moved_constant_87 = jac_affine_inv_2_0_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_88 = jac_affine_inv_2_1_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_89 = jac_affine_inv_2_2_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_90 = jac_affine_inv_1_0_BLUE_DOWN*tmp_moved_constant_87 + jac_affine_inv_1_1_BLUE_DOWN*tmp_moved_constant_88 + jac_affine_inv_1_2_BLUE_DOWN*tmp_moved_constant_89;
+       const real_t tmp_moved_constant_91 = jac_affine_inv_0_0_BLUE_DOWN*tmp_moved_constant_87 + jac_affine_inv_0_1_BLUE_DOWN*tmp_moved_constant_88 + jac_affine_inv_0_2_BLUE_DOWN*tmp_moved_constant_89;
+       const real_t tmp_moved_constant_92 = jac_affine_inv_1_0_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_93 = jac_affine_inv_1_1_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_94 = jac_affine_inv_1_2_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_95 = jac_affine_inv_0_0_BLUE_DOWN*tmp_moved_constant_92 + jac_affine_inv_0_1_BLUE_DOWN*tmp_moved_constant_93 + jac_affine_inv_0_2_BLUE_DOWN*tmp_moved_constant_94;
+       const real_t tmp_moved_constant_96 = jac_affine_inv_2_0_BLUE_DOWN*tmp_moved_constant_70 + jac_affine_inv_2_1_BLUE_DOWN*tmp_moved_constant_75 + jac_affine_inv_2_2_BLUE_DOWN*tmp_moved_constant_80;
+       const real_t tmp_moved_constant_97 = jac_affine_inv_2_0_BLUE_DOWN*tmp_moved_constant_69 + jac_affine_inv_2_1_BLUE_DOWN*tmp_moved_constant_74 + jac_affine_inv_2_2_BLUE_DOWN*tmp_moved_constant_79;
+       const real_t tmp_moved_constant_98 = jac_affine_inv_2_0_BLUE_DOWN*(-tmp_moved_constant_71 - tmp_moved_constant_87) + jac_affine_inv_2_1_BLUE_DOWN*(-tmp_moved_constant_76 - tmp_moved_constant_88) + jac_affine_inv_2_2_BLUE_DOWN*(-tmp_moved_constant_81 - tmp_moved_constant_89) - tmp_moved_constant_96 - tmp_moved_constant_97;
+       const real_t tmp_moved_constant_99 = jac_affine_inv_1_0_BLUE_DOWN*tmp_moved_constant_69 + jac_affine_inv_1_1_BLUE_DOWN*tmp_moved_constant_74 + jac_affine_inv_1_2_BLUE_DOWN*tmp_moved_constant_79;
+       const real_t tmp_moved_constant_100 = jac_affine_inv_1_0_BLUE_DOWN*(-tmp_moved_constant_68 - tmp_moved_constant_69 - tmp_moved_constant_92) + jac_affine_inv_1_1_BLUE_DOWN*(-tmp_moved_constant_73 - tmp_moved_constant_74 - tmp_moved_constant_93) + jac_affine_inv_1_2_BLUE_DOWN*(-tmp_moved_constant_78 - tmp_moved_constant_79 - tmp_moved_constant_94) - tmp_moved_constant_96 - tmp_moved_constant_99;
+       const real_t tmp_moved_constant_101 = jac_affine_inv_0_0_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*-8.0 - tmp_moved_constant_68 - tmp_moved_constant_70) + jac_affine_inv_0_1_BLUE_DOWN*(jac_affine_inv_0_1_BLUE_DOWN*-8.0 - tmp_moved_constant_73 - tmp_moved_constant_75) + jac_affine_inv_0_2_BLUE_DOWN*(jac_affine_inv_0_2_BLUE_DOWN*-8.0 - tmp_moved_constant_78 - tmp_moved_constant_80) - tmp_moved_constant_97 - tmp_moved_constant_99;
+       {
+          /* CellType.BLUE_DOWN */
+          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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_16 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_17 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_18 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18;
+                const real_t tmp_qloop_20 = tmp_qloop_16 + tmp_qloop_19 - 3.0;
+                const real_t tmp_qloop_21 = tmp_qloop_17*_data_q_p_1[q];
+                const real_t tmp_qloop_22 = tmp_qloop_17*_data_q_p_2[q];
+                const real_t tmp_qloop_23 = tmp_qloop_18*_data_q_p_2[q];
+                const real_t tmp_qloop_24 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_25 = tmp_qloop_24*2.0;
+                const real_t tmp_qloop_26 = tmp_qloop_25 - _data_q_p_0[q];
+                const real_t tmp_qloop_27 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_28 = tmp_qloop_27*2.0;
+                const real_t tmp_qloop_29 = tmp_qloop_28 - _data_q_p_1[q];
+                const real_t tmp_qloop_30 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_31 = tmp_qloop_30*2.0;
+                const real_t tmp_qloop_32 = tmp_qloop_31 - _data_q_p_2[q];
+                const real_t tmp_qloop_33 = tmp_qloop_16 - tmp_qloop_22 - tmp_qloop_23 + tmp_qloop_30*-4.0;
+                const real_t tmp_qloop_34 = tmp_qloop_18 - tmp_qloop_21 - tmp_qloop_23 + tmp_qloop_27*-4.0;
+                const real_t tmp_qloop_35 = tmp_qloop_21 + tmp_qloop_22;
+                const real_t tmp_qloop_36 = tmp_qloop_17 + tmp_qloop_24*-4.0 - tmp_qloop_35;
+                const real_t tmp_qloop_37 = tmp_qloop_23 + tmp_qloop_25 + tmp_qloop_28 + tmp_qloop_31 + tmp_qloop_35 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                const real_t tmp_qloop_38 = tmp_qloop_21*wx_dof_6 + tmp_qloop_22*wx_dof_5 + tmp_qloop_23*wx_dof_4 + tmp_qloop_26*wx_dof_1 + tmp_qloop_29*wx_dof_2 + tmp_qloop_32*wx_dof_3 + tmp_qloop_33*wx_dof_7 + tmp_qloop_34*wx_dof_8 + tmp_qloop_36*wx_dof_9 + tmp_qloop_37*wx_dof_0;
+                const real_t tmp_qloop_39 = tmp_qloop_21*wy_dof_6 + tmp_qloop_22*wy_dof_5 + tmp_qloop_23*wy_dof_4 + tmp_qloop_26*wy_dof_1 + tmp_qloop_29*wy_dof_2 + tmp_qloop_32*wy_dof_3 + tmp_qloop_33*wy_dof_7 + tmp_qloop_34*wy_dof_8 + tmp_qloop_36*wy_dof_9 + tmp_qloop_37*wy_dof_0;
+                const real_t tmp_qloop_40 = tmp_qloop_21*wz_dof_6 + tmp_qloop_22*wz_dof_5 + tmp_qloop_23*wz_dof_4 + tmp_qloop_26*wz_dof_1 + tmp_qloop_29*wz_dof_2 + tmp_qloop_32*wz_dof_3 + tmp_qloop_33*wz_dof_7 + tmp_qloop_34*wz_dof_8 + tmp_qloop_36*wz_dof_9 + tmp_qloop_37*wz_dof_0;
+                const real_t tmp_qloop_41 = abs_det_jac_affine_BLUE_DOWN*(diffusivity_times_delta_dof_0*tmp_qloop_37 + diffusivity_times_delta_dof_1*tmp_qloop_26 + diffusivity_times_delta_dof_2*tmp_qloop_29 + diffusivity_times_delta_dof_3*tmp_qloop_32 + diffusivity_times_delta_dof_4*tmp_qloop_23 + diffusivity_times_delta_dof_5*tmp_qloop_22 + diffusivity_times_delta_dof_6*tmp_qloop_21 + diffusivity_times_delta_dof_7*tmp_qloop_33 + diffusivity_times_delta_dof_8*tmp_qloop_34 + diffusivity_times_delta_dof_9*tmp_qloop_36)*_data_q_w[q];
+                const real_t tmp_qloop_42 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_20 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_20 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_20) + tmp_qloop_39*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_20 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_20 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_20) + tmp_qloop_40*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_20 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_20 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_20));
+                const real_t tmp_qloop_61 = tmp_qloop_17 - 1.0;
+                const real_t tmp_qloop_62 = tmp_qloop_41*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_38*tmp_qloop_61 + jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_39*tmp_qloop_61 + jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_40*tmp_qloop_61);
+                const real_t tmp_qloop_63 = tmp_qloop_18 - 1.0;
+                const real_t tmp_qloop_64 = tmp_qloop_41*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_38*tmp_qloop_63 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_39*tmp_qloop_63 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_40*tmp_qloop_63);
+                const real_t tmp_qloop_65 = tmp_qloop_16 - 1.0;
+                const real_t tmp_qloop_66 = tmp_qloop_41*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_38*tmp_qloop_65 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_39*tmp_qloop_65 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_40*tmp_qloop_65);
+                const real_t tmp_qloop_67 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_68 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_69 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_70 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_71 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_72 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_73 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_67 + tmp_qloop_68) + tmp_qloop_39*(tmp_qloop_69 + tmp_qloop_70) + tmp_qloop_40*(tmp_qloop_71 + tmp_qloop_72));
+                const real_t tmp_qloop_74 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_75 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_76 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_77 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_78 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_79 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_80 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_74 + tmp_qloop_75) + tmp_qloop_39*(tmp_qloop_76 + tmp_qloop_77) + tmp_qloop_40*(tmp_qloop_78 + tmp_qloop_79));
+                const real_t tmp_qloop_81 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_82 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_83 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_84 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_85 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_86 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_87 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_81 + tmp_qloop_82) + tmp_qloop_39*(tmp_qloop_83 + tmp_qloop_84) + tmp_qloop_40*(tmp_qloop_85 + tmp_qloop_86));
+                const real_t tmp_qloop_88 = -tmp_qloop_19 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_89 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_88 - tmp_qloop_68 - tmp_qloop_75) + tmp_qloop_39*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_88 - tmp_qloop_70 - tmp_qloop_77) + tmp_qloop_40*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_88 - tmp_qloop_72 - tmp_qloop_79));
+                const real_t tmp_qloop_90 = tmp_qloop_16 - 4.0;
+                const real_t tmp_qloop_91 = -tmp_qloop_17 - tmp_qloop_90 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_92 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_91 - tmp_qloop_67 - tmp_qloop_82) + tmp_qloop_39*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_91 - tmp_qloop_69 - tmp_qloop_84) + tmp_qloop_40*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_91 - tmp_qloop_71 - tmp_qloop_86));
+                const real_t tmp_qloop_93 = -tmp_qloop_18 - tmp_qloop_90 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_94 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_93 - tmp_qloop_74 - tmp_qloop_81) + tmp_qloop_39*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_93 - tmp_qloop_76 - tmp_qloop_83) + tmp_qloop_40*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_93 - tmp_qloop_78 - tmp_qloop_85));
+                const real_t q_tmp_0_0 = tmp_moved_constant_83*tmp_qloop_42;
+                const real_t q_tmp_0_1 = tmp_moved_constant_84*tmp_qloop_42;
+                const real_t q_tmp_0_2 = tmp_moved_constant_85*tmp_qloop_42;
+                const real_t q_tmp_0_3 = tmp_moved_constant_86*tmp_qloop_42;
+                const real_t q_tmp_0_4 = tmp_moved_constant_90*tmp_qloop_42;
+                const real_t q_tmp_0_5 = tmp_moved_constant_91*tmp_qloop_42;
+                const real_t q_tmp_0_6 = tmp_moved_constant_95*tmp_qloop_42;
+                const real_t q_tmp_0_7 = tmp_moved_constant_98*tmp_qloop_42;
+                const real_t q_tmp_0_8 = tmp_moved_constant_100*tmp_qloop_42;
+                const real_t q_tmp_0_9 = tmp_moved_constant_101*tmp_qloop_42;
+                const real_t q_tmp_1_0 = tmp_moved_constant_83*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_moved_constant_84*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_moved_constant_85*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_moved_constant_86*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_moved_constant_90*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_moved_constant_91*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_moved_constant_95*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_moved_constant_98*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_moved_constant_100*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_moved_constant_101*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_moved_constant_83*tmp_qloop_64;
+                const real_t q_tmp_2_1 = tmp_moved_constant_84*tmp_qloop_64;
+                const real_t q_tmp_2_2 = tmp_moved_constant_85*tmp_qloop_64;
+                const real_t q_tmp_2_3 = tmp_moved_constant_86*tmp_qloop_64;
+                const real_t q_tmp_2_4 = tmp_moved_constant_90*tmp_qloop_64;
+                const real_t q_tmp_2_5 = tmp_moved_constant_91*tmp_qloop_64;
+                const real_t q_tmp_2_6 = tmp_moved_constant_95*tmp_qloop_64;
+                const real_t q_tmp_2_7 = tmp_moved_constant_98*tmp_qloop_64;
+                const real_t q_tmp_2_8 = tmp_moved_constant_100*tmp_qloop_64;
+                const real_t q_tmp_2_9 = tmp_moved_constant_101*tmp_qloop_64;
+                const real_t q_tmp_3_0 = tmp_moved_constant_83*tmp_qloop_66;
+                const real_t q_tmp_3_1 = tmp_moved_constant_84*tmp_qloop_66;
+                const real_t q_tmp_3_2 = tmp_moved_constant_85*tmp_qloop_66;
+                const real_t q_tmp_3_3 = tmp_moved_constant_86*tmp_qloop_66;
+                const real_t q_tmp_3_4 = tmp_moved_constant_90*tmp_qloop_66;
+                const real_t q_tmp_3_5 = tmp_moved_constant_91*tmp_qloop_66;
+                const real_t q_tmp_3_6 = tmp_moved_constant_95*tmp_qloop_66;
+                const real_t q_tmp_3_7 = tmp_moved_constant_98*tmp_qloop_66;
+                const real_t q_tmp_3_8 = tmp_moved_constant_100*tmp_qloop_66;
+                const real_t q_tmp_3_9 = tmp_moved_constant_101*tmp_qloop_66;
+                const real_t q_tmp_4_0 = tmp_moved_constant_83*tmp_qloop_73;
+                const real_t q_tmp_4_1 = tmp_moved_constant_84*tmp_qloop_73;
+                const real_t q_tmp_4_2 = tmp_moved_constant_85*tmp_qloop_73;
+                const real_t q_tmp_4_3 = tmp_moved_constant_86*tmp_qloop_73;
+                const real_t q_tmp_4_4 = tmp_moved_constant_90*tmp_qloop_73;
+                const real_t q_tmp_4_5 = tmp_moved_constant_91*tmp_qloop_73;
+                const real_t q_tmp_4_6 = tmp_moved_constant_95*tmp_qloop_73;
+                const real_t q_tmp_4_7 = tmp_moved_constant_98*tmp_qloop_73;
+                const real_t q_tmp_4_8 = tmp_moved_constant_100*tmp_qloop_73;
+                const real_t q_tmp_4_9 = tmp_moved_constant_101*tmp_qloop_73;
+                const real_t q_tmp_5_0 = tmp_moved_constant_83*tmp_qloop_80;
+                const real_t q_tmp_5_1 = tmp_moved_constant_84*tmp_qloop_80;
+                const real_t q_tmp_5_2 = tmp_moved_constant_85*tmp_qloop_80;
+                const real_t q_tmp_5_3 = tmp_moved_constant_86*tmp_qloop_80;
+                const real_t q_tmp_5_4 = tmp_moved_constant_90*tmp_qloop_80;
+                const real_t q_tmp_5_5 = tmp_moved_constant_91*tmp_qloop_80;
+                const real_t q_tmp_5_6 = tmp_moved_constant_95*tmp_qloop_80;
+                const real_t q_tmp_5_7 = tmp_moved_constant_98*tmp_qloop_80;
+                const real_t q_tmp_5_8 = tmp_moved_constant_100*tmp_qloop_80;
+                const real_t q_tmp_5_9 = tmp_moved_constant_101*tmp_qloop_80;
+                const real_t q_tmp_6_0 = tmp_moved_constant_83*tmp_qloop_87;
+                const real_t q_tmp_6_1 = tmp_moved_constant_84*tmp_qloop_87;
+                const real_t q_tmp_6_2 = tmp_moved_constant_85*tmp_qloop_87;
+                const real_t q_tmp_6_3 = tmp_moved_constant_86*tmp_qloop_87;
+                const real_t q_tmp_6_4 = tmp_moved_constant_90*tmp_qloop_87;
+                const real_t q_tmp_6_5 = tmp_moved_constant_91*tmp_qloop_87;
+                const real_t q_tmp_6_6 = tmp_moved_constant_95*tmp_qloop_87;
+                const real_t q_tmp_6_7 = tmp_moved_constant_98*tmp_qloop_87;
+                const real_t q_tmp_6_8 = tmp_moved_constant_100*tmp_qloop_87;
+                const real_t q_tmp_6_9 = tmp_moved_constant_101*tmp_qloop_87;
+                const real_t q_tmp_7_0 = tmp_moved_constant_83*tmp_qloop_89;
+                const real_t q_tmp_7_1 = tmp_moved_constant_84*tmp_qloop_89;
+                const real_t q_tmp_7_2 = tmp_moved_constant_85*tmp_qloop_89;
+                const real_t q_tmp_7_3 = tmp_moved_constant_86*tmp_qloop_89;
+                const real_t q_tmp_7_4 = tmp_moved_constant_90*tmp_qloop_89;
+                const real_t q_tmp_7_5 = tmp_moved_constant_91*tmp_qloop_89;
+                const real_t q_tmp_7_6 = tmp_moved_constant_95*tmp_qloop_89;
+                const real_t q_tmp_7_7 = tmp_moved_constant_98*tmp_qloop_89;
+                const real_t q_tmp_7_8 = tmp_moved_constant_100*tmp_qloop_89;
+                const real_t q_tmp_7_9 = tmp_moved_constant_101*tmp_qloop_89;
+                const real_t q_tmp_8_0 = tmp_moved_constant_83*tmp_qloop_92;
+                const real_t q_tmp_8_1 = tmp_moved_constant_84*tmp_qloop_92;
+                const real_t q_tmp_8_2 = tmp_moved_constant_85*tmp_qloop_92;
+                const real_t q_tmp_8_3 = tmp_moved_constant_86*tmp_qloop_92;
+                const real_t q_tmp_8_4 = tmp_moved_constant_90*tmp_qloop_92;
+                const real_t q_tmp_8_5 = tmp_moved_constant_91*tmp_qloop_92;
+                const real_t q_tmp_8_6 = tmp_moved_constant_95*tmp_qloop_92;
+                const real_t q_tmp_8_7 = tmp_moved_constant_98*tmp_qloop_92;
+                const real_t q_tmp_8_8 = tmp_moved_constant_100*tmp_qloop_92;
+                const real_t q_tmp_8_9 = tmp_moved_constant_101*tmp_qloop_92;
+                const real_t q_tmp_9_0 = tmp_moved_constant_83*tmp_qloop_94;
+                const real_t q_tmp_9_1 = tmp_moved_constant_84*tmp_qloop_94;
+                const real_t q_tmp_9_2 = tmp_moved_constant_85*tmp_qloop_94;
+                const real_t q_tmp_9_3 = tmp_moved_constant_86*tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_moved_constant_90*tmp_qloop_94;
+                const real_t q_tmp_9_5 = tmp_moved_constant_91*tmp_qloop_94;
+                const real_t q_tmp_9_6 = tmp_moved_constant_95*tmp_qloop_94;
+                const real_t q_tmp_9_7 = tmp_moved_constant_98*tmp_qloop_94;
+                const real_t q_tmp_9_8 = tmp_moved_constant_100*tmp_qloop_94;
+                const real_t q_tmp_9_9 = tmp_moved_constant_101*tmp_qloop_94;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+             const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+             const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+             const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+             const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+             const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+             _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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))] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_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 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_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 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_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 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP;
+       const real_t tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP);
+       const real_t jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP);
+       const real_t jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP);
+       const real_t jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP);
+       const real_t jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP);
+       const real_t tmp_moved_constant_102 = jac_affine_inv_2_0_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_103 = jac_affine_inv_0_0_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_104 = jac_affine_inv_1_0_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_105 = tmp_moved_constant_103 + tmp_moved_constant_104;
+       const real_t tmp_moved_constant_106 = tmp_moved_constant_102 + tmp_moved_constant_105;
+       const real_t tmp_moved_constant_107 = jac_affine_inv_2_1_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_108 = jac_affine_inv_0_1_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_109 = jac_affine_inv_1_1_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_110 = tmp_moved_constant_108 + tmp_moved_constant_109;
+       const real_t tmp_moved_constant_111 = tmp_moved_constant_107 + tmp_moved_constant_110;
+       const real_t tmp_moved_constant_112 = jac_affine_inv_2_2_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_113 = jac_affine_inv_0_2_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_114 = jac_affine_inv_1_2_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_115 = tmp_moved_constant_113 + tmp_moved_constant_114;
+       const real_t tmp_moved_constant_116 = tmp_moved_constant_112 + tmp_moved_constant_115;
+       const real_t tmp_moved_constant_117 = jac_affine_inv_0_0_GREEN_UP*tmp_moved_constant_106 + jac_affine_inv_0_1_GREEN_UP*tmp_moved_constant_111 + jac_affine_inv_0_2_GREEN_UP*tmp_moved_constant_116 + jac_affine_inv_1_0_GREEN_UP*tmp_moved_constant_106 + jac_affine_inv_1_1_GREEN_UP*tmp_moved_constant_111 + jac_affine_inv_1_2_GREEN_UP*tmp_moved_constant_116 + jac_affine_inv_2_0_GREEN_UP*tmp_moved_constant_106 + jac_affine_inv_2_1_GREEN_UP*tmp_moved_constant_111 + jac_affine_inv_2_2_GREEN_UP*tmp_moved_constant_116;
+       const real_t tmp_moved_constant_118 = (jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP)*4.0 + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP)*4.0 + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)*4.0;
+       const real_t tmp_moved_constant_119 = (jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP)*4.0 + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP)*4.0 + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)*4.0;
+       const real_t tmp_moved_constant_120 = (jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP)*4.0 + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP)*4.0 + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)*4.0;
+       const real_t tmp_moved_constant_121 = jac_affine_inv_2_0_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_122 = jac_affine_inv_2_1_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_123 = jac_affine_inv_2_2_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_124 = jac_affine_inv_1_0_GREEN_UP*tmp_moved_constant_121 + jac_affine_inv_1_1_GREEN_UP*tmp_moved_constant_122 + jac_affine_inv_1_2_GREEN_UP*tmp_moved_constant_123;
+       const real_t tmp_moved_constant_125 = jac_affine_inv_0_0_GREEN_UP*tmp_moved_constant_121 + jac_affine_inv_0_1_GREEN_UP*tmp_moved_constant_122 + jac_affine_inv_0_2_GREEN_UP*tmp_moved_constant_123;
+       const real_t tmp_moved_constant_126 = jac_affine_inv_1_0_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_127 = jac_affine_inv_1_1_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_128 = jac_affine_inv_1_2_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_129 = jac_affine_inv_0_0_GREEN_UP*tmp_moved_constant_126 + jac_affine_inv_0_1_GREEN_UP*tmp_moved_constant_127 + jac_affine_inv_0_2_GREEN_UP*tmp_moved_constant_128;
+       const real_t tmp_moved_constant_130 = jac_affine_inv_2_0_GREEN_UP*tmp_moved_constant_104 + jac_affine_inv_2_1_GREEN_UP*tmp_moved_constant_109 + jac_affine_inv_2_2_GREEN_UP*tmp_moved_constant_114;
+       const real_t tmp_moved_constant_131 = jac_affine_inv_2_0_GREEN_UP*tmp_moved_constant_103 + jac_affine_inv_2_1_GREEN_UP*tmp_moved_constant_108 + jac_affine_inv_2_2_GREEN_UP*tmp_moved_constant_113;
+       const real_t tmp_moved_constant_132 = jac_affine_inv_2_0_GREEN_UP*(-tmp_moved_constant_105 - tmp_moved_constant_121) + jac_affine_inv_2_1_GREEN_UP*(-tmp_moved_constant_110 - tmp_moved_constant_122) + jac_affine_inv_2_2_GREEN_UP*(-tmp_moved_constant_115 - tmp_moved_constant_123) - tmp_moved_constant_130 - tmp_moved_constant_131;
+       const real_t tmp_moved_constant_133 = jac_affine_inv_1_0_GREEN_UP*tmp_moved_constant_103 + jac_affine_inv_1_1_GREEN_UP*tmp_moved_constant_108 + jac_affine_inv_1_2_GREEN_UP*tmp_moved_constant_113;
+       const real_t tmp_moved_constant_134 = jac_affine_inv_1_0_GREEN_UP*(-tmp_moved_constant_102 - tmp_moved_constant_103 - tmp_moved_constant_126) + jac_affine_inv_1_1_GREEN_UP*(-tmp_moved_constant_107 - tmp_moved_constant_108 - tmp_moved_constant_127) + jac_affine_inv_1_2_GREEN_UP*(-tmp_moved_constant_112 - tmp_moved_constant_113 - tmp_moved_constant_128) - tmp_moved_constant_130 - tmp_moved_constant_133;
+       const real_t tmp_moved_constant_135 = jac_affine_inv_0_0_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*-8.0 - tmp_moved_constant_102 - tmp_moved_constant_104) + jac_affine_inv_0_1_GREEN_UP*(jac_affine_inv_0_1_GREEN_UP*-8.0 - tmp_moved_constant_107 - tmp_moved_constant_109) + jac_affine_inv_0_2_GREEN_UP*(jac_affine_inv_0_2_GREEN_UP*-8.0 - tmp_moved_constant_112 - tmp_moved_constant_114) - tmp_moved_constant_131 - tmp_moved_constant_133;
+       {
+          /* CellType.GREEN_UP */
+          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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_16 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_17 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_18 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18;
+                const real_t tmp_qloop_20 = tmp_qloop_16 + tmp_qloop_19 - 3.0;
+                const real_t tmp_qloop_21 = tmp_qloop_17*_data_q_p_1[q];
+                const real_t tmp_qloop_22 = tmp_qloop_17*_data_q_p_2[q];
+                const real_t tmp_qloop_23 = tmp_qloop_18*_data_q_p_2[q];
+                const real_t tmp_qloop_24 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_25 = tmp_qloop_24*2.0;
+                const real_t tmp_qloop_26 = tmp_qloop_25 - _data_q_p_0[q];
+                const real_t tmp_qloop_27 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_28 = tmp_qloop_27*2.0;
+                const real_t tmp_qloop_29 = tmp_qloop_28 - _data_q_p_1[q];
+                const real_t tmp_qloop_30 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_31 = tmp_qloop_30*2.0;
+                const real_t tmp_qloop_32 = tmp_qloop_31 - _data_q_p_2[q];
+                const real_t tmp_qloop_33 = tmp_qloop_16 - tmp_qloop_22 - tmp_qloop_23 + tmp_qloop_30*-4.0;
+                const real_t tmp_qloop_34 = tmp_qloop_18 - tmp_qloop_21 - tmp_qloop_23 + tmp_qloop_27*-4.0;
+                const real_t tmp_qloop_35 = tmp_qloop_21 + tmp_qloop_22;
+                const real_t tmp_qloop_36 = tmp_qloop_17 + tmp_qloop_24*-4.0 - tmp_qloop_35;
+                const real_t tmp_qloop_37 = tmp_qloop_23 + tmp_qloop_25 + tmp_qloop_28 + tmp_qloop_31 + tmp_qloop_35 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                const real_t tmp_qloop_38 = tmp_qloop_21*wx_dof_6 + tmp_qloop_22*wx_dof_5 + tmp_qloop_23*wx_dof_4 + tmp_qloop_26*wx_dof_1 + tmp_qloop_29*wx_dof_2 + tmp_qloop_32*wx_dof_3 + tmp_qloop_33*wx_dof_7 + tmp_qloop_34*wx_dof_8 + tmp_qloop_36*wx_dof_9 + tmp_qloop_37*wx_dof_0;
+                const real_t tmp_qloop_39 = tmp_qloop_21*wy_dof_6 + tmp_qloop_22*wy_dof_5 + tmp_qloop_23*wy_dof_4 + tmp_qloop_26*wy_dof_1 + tmp_qloop_29*wy_dof_2 + tmp_qloop_32*wy_dof_3 + tmp_qloop_33*wy_dof_7 + tmp_qloop_34*wy_dof_8 + tmp_qloop_36*wy_dof_9 + tmp_qloop_37*wy_dof_0;
+                const real_t tmp_qloop_40 = tmp_qloop_21*wz_dof_6 + tmp_qloop_22*wz_dof_5 + tmp_qloop_23*wz_dof_4 + tmp_qloop_26*wz_dof_1 + tmp_qloop_29*wz_dof_2 + tmp_qloop_32*wz_dof_3 + tmp_qloop_33*wz_dof_7 + tmp_qloop_34*wz_dof_8 + tmp_qloop_36*wz_dof_9 + tmp_qloop_37*wz_dof_0;
+                const real_t tmp_qloop_41 = abs_det_jac_affine_GREEN_UP*(diffusivity_times_delta_dof_0*tmp_qloop_37 + diffusivity_times_delta_dof_1*tmp_qloop_26 + diffusivity_times_delta_dof_2*tmp_qloop_29 + diffusivity_times_delta_dof_3*tmp_qloop_32 + diffusivity_times_delta_dof_4*tmp_qloop_23 + diffusivity_times_delta_dof_5*tmp_qloop_22 + diffusivity_times_delta_dof_6*tmp_qloop_21 + diffusivity_times_delta_dof_7*tmp_qloop_33 + diffusivity_times_delta_dof_8*tmp_qloop_34 + diffusivity_times_delta_dof_9*tmp_qloop_36)*_data_q_w[q];
+                const real_t tmp_qloop_42 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_20 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_20 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_20) + tmp_qloop_39*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_20 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_20 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_20) + tmp_qloop_40*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_20 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_20 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_20));
+                const real_t tmp_qloop_61 = tmp_qloop_17 - 1.0;
+                const real_t tmp_qloop_62 = tmp_qloop_41*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_38*tmp_qloop_61 + jac_affine_inv_0_1_GREEN_UP*tmp_qloop_39*tmp_qloop_61 + jac_affine_inv_0_2_GREEN_UP*tmp_qloop_40*tmp_qloop_61);
+                const real_t tmp_qloop_63 = tmp_qloop_18 - 1.0;
+                const real_t tmp_qloop_64 = tmp_qloop_41*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_38*tmp_qloop_63 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_39*tmp_qloop_63 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_40*tmp_qloop_63);
+                const real_t tmp_qloop_65 = tmp_qloop_16 - 1.0;
+                const real_t tmp_qloop_66 = tmp_qloop_41*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_38*tmp_qloop_65 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_39*tmp_qloop_65 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_40*tmp_qloop_65);
+                const real_t tmp_qloop_67 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_18;
+                const real_t tmp_qloop_68 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_16;
+                const real_t tmp_qloop_69 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_18;
+                const real_t tmp_qloop_70 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_16;
+                const real_t tmp_qloop_71 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_18;
+                const real_t tmp_qloop_72 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_16;
+                const real_t tmp_qloop_73 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_67 + tmp_qloop_68) + tmp_qloop_39*(tmp_qloop_69 + tmp_qloop_70) + tmp_qloop_40*(tmp_qloop_71 + tmp_qloop_72));
+                const real_t tmp_qloop_74 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_17;
+                const real_t tmp_qloop_75 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_16;
+                const real_t tmp_qloop_76 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_17;
+                const real_t tmp_qloop_77 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_16;
+                const real_t tmp_qloop_78 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_17;
+                const real_t tmp_qloop_79 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_16;
+                const real_t tmp_qloop_80 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_74 + tmp_qloop_75) + tmp_qloop_39*(tmp_qloop_76 + tmp_qloop_77) + tmp_qloop_40*(tmp_qloop_78 + tmp_qloop_79));
+                const real_t tmp_qloop_81 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_17;
+                const real_t tmp_qloop_82 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_18;
+                const real_t tmp_qloop_83 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_17;
+                const real_t tmp_qloop_84 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_18;
+                const real_t tmp_qloop_85 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_17;
+                const real_t tmp_qloop_86 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_18;
+                const real_t tmp_qloop_87 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_81 + tmp_qloop_82) + tmp_qloop_39*(tmp_qloop_83 + tmp_qloop_84) + tmp_qloop_40*(tmp_qloop_85 + tmp_qloop_86));
+                const real_t tmp_qloop_88 = -tmp_qloop_19 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_89 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_88 - tmp_qloop_68 - tmp_qloop_75) + tmp_qloop_39*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_88 - tmp_qloop_70 - tmp_qloop_77) + tmp_qloop_40*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_88 - tmp_qloop_72 - tmp_qloop_79));
+                const real_t tmp_qloop_90 = tmp_qloop_16 - 4.0;
+                const real_t tmp_qloop_91 = -tmp_qloop_17 - tmp_qloop_90 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_92 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_91 - tmp_qloop_67 - tmp_qloop_82) + tmp_qloop_39*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_91 - tmp_qloop_69 - tmp_qloop_84) + tmp_qloop_40*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_91 - tmp_qloop_71 - tmp_qloop_86));
+                const real_t tmp_qloop_93 = -tmp_qloop_18 - tmp_qloop_90 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_94 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_93 - tmp_qloop_74 - tmp_qloop_81) + tmp_qloop_39*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_93 - tmp_qloop_76 - tmp_qloop_83) + tmp_qloop_40*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_93 - tmp_qloop_78 - tmp_qloop_85));
+                const real_t q_tmp_0_0 = tmp_moved_constant_117*tmp_qloop_42;
+                const real_t q_tmp_0_1 = tmp_moved_constant_118*tmp_qloop_42;
+                const real_t q_tmp_0_2 = tmp_moved_constant_119*tmp_qloop_42;
+                const real_t q_tmp_0_3 = tmp_moved_constant_120*tmp_qloop_42;
+                const real_t q_tmp_0_4 = tmp_moved_constant_124*tmp_qloop_42;
+                const real_t q_tmp_0_5 = tmp_moved_constant_125*tmp_qloop_42;
+                const real_t q_tmp_0_6 = tmp_moved_constant_129*tmp_qloop_42;
+                const real_t q_tmp_0_7 = tmp_moved_constant_132*tmp_qloop_42;
+                const real_t q_tmp_0_8 = tmp_moved_constant_134*tmp_qloop_42;
+                const real_t q_tmp_0_9 = tmp_moved_constant_135*tmp_qloop_42;
+                const real_t q_tmp_1_0 = tmp_moved_constant_117*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_moved_constant_118*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_moved_constant_119*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_moved_constant_120*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_moved_constant_124*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_moved_constant_125*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_moved_constant_129*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_moved_constant_132*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_moved_constant_134*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_moved_constant_135*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_moved_constant_117*tmp_qloop_64;
+                const real_t q_tmp_2_1 = tmp_moved_constant_118*tmp_qloop_64;
+                const real_t q_tmp_2_2 = tmp_moved_constant_119*tmp_qloop_64;
+                const real_t q_tmp_2_3 = tmp_moved_constant_120*tmp_qloop_64;
+                const real_t q_tmp_2_4 = tmp_moved_constant_124*tmp_qloop_64;
+                const real_t q_tmp_2_5 = tmp_moved_constant_125*tmp_qloop_64;
+                const real_t q_tmp_2_6 = tmp_moved_constant_129*tmp_qloop_64;
+                const real_t q_tmp_2_7 = tmp_moved_constant_132*tmp_qloop_64;
+                const real_t q_tmp_2_8 = tmp_moved_constant_134*tmp_qloop_64;
+                const real_t q_tmp_2_9 = tmp_moved_constant_135*tmp_qloop_64;
+                const real_t q_tmp_3_0 = tmp_moved_constant_117*tmp_qloop_66;
+                const real_t q_tmp_3_1 = tmp_moved_constant_118*tmp_qloop_66;
+                const real_t q_tmp_3_2 = tmp_moved_constant_119*tmp_qloop_66;
+                const real_t q_tmp_3_3 = tmp_moved_constant_120*tmp_qloop_66;
+                const real_t q_tmp_3_4 = tmp_moved_constant_124*tmp_qloop_66;
+                const real_t q_tmp_3_5 = tmp_moved_constant_125*tmp_qloop_66;
+                const real_t q_tmp_3_6 = tmp_moved_constant_129*tmp_qloop_66;
+                const real_t q_tmp_3_7 = tmp_moved_constant_132*tmp_qloop_66;
+                const real_t q_tmp_3_8 = tmp_moved_constant_134*tmp_qloop_66;
+                const real_t q_tmp_3_9 = tmp_moved_constant_135*tmp_qloop_66;
+                const real_t q_tmp_4_0 = tmp_moved_constant_117*tmp_qloop_73;
+                const real_t q_tmp_4_1 = tmp_moved_constant_118*tmp_qloop_73;
+                const real_t q_tmp_4_2 = tmp_moved_constant_119*tmp_qloop_73;
+                const real_t q_tmp_4_3 = tmp_moved_constant_120*tmp_qloop_73;
+                const real_t q_tmp_4_4 = tmp_moved_constant_124*tmp_qloop_73;
+                const real_t q_tmp_4_5 = tmp_moved_constant_125*tmp_qloop_73;
+                const real_t q_tmp_4_6 = tmp_moved_constant_129*tmp_qloop_73;
+                const real_t q_tmp_4_7 = tmp_moved_constant_132*tmp_qloop_73;
+                const real_t q_tmp_4_8 = tmp_moved_constant_134*tmp_qloop_73;
+                const real_t q_tmp_4_9 = tmp_moved_constant_135*tmp_qloop_73;
+                const real_t q_tmp_5_0 = tmp_moved_constant_117*tmp_qloop_80;
+                const real_t q_tmp_5_1 = tmp_moved_constant_118*tmp_qloop_80;
+                const real_t q_tmp_5_2 = tmp_moved_constant_119*tmp_qloop_80;
+                const real_t q_tmp_5_3 = tmp_moved_constant_120*tmp_qloop_80;
+                const real_t q_tmp_5_4 = tmp_moved_constant_124*tmp_qloop_80;
+                const real_t q_tmp_5_5 = tmp_moved_constant_125*tmp_qloop_80;
+                const real_t q_tmp_5_6 = tmp_moved_constant_129*tmp_qloop_80;
+                const real_t q_tmp_5_7 = tmp_moved_constant_132*tmp_qloop_80;
+                const real_t q_tmp_5_8 = tmp_moved_constant_134*tmp_qloop_80;
+                const real_t q_tmp_5_9 = tmp_moved_constant_135*tmp_qloop_80;
+                const real_t q_tmp_6_0 = tmp_moved_constant_117*tmp_qloop_87;
+                const real_t q_tmp_6_1 = tmp_moved_constant_118*tmp_qloop_87;
+                const real_t q_tmp_6_2 = tmp_moved_constant_119*tmp_qloop_87;
+                const real_t q_tmp_6_3 = tmp_moved_constant_120*tmp_qloop_87;
+                const real_t q_tmp_6_4 = tmp_moved_constant_124*tmp_qloop_87;
+                const real_t q_tmp_6_5 = tmp_moved_constant_125*tmp_qloop_87;
+                const real_t q_tmp_6_6 = tmp_moved_constant_129*tmp_qloop_87;
+                const real_t q_tmp_6_7 = tmp_moved_constant_132*tmp_qloop_87;
+                const real_t q_tmp_6_8 = tmp_moved_constant_134*tmp_qloop_87;
+                const real_t q_tmp_6_9 = tmp_moved_constant_135*tmp_qloop_87;
+                const real_t q_tmp_7_0 = tmp_moved_constant_117*tmp_qloop_89;
+                const real_t q_tmp_7_1 = tmp_moved_constant_118*tmp_qloop_89;
+                const real_t q_tmp_7_2 = tmp_moved_constant_119*tmp_qloop_89;
+                const real_t q_tmp_7_3 = tmp_moved_constant_120*tmp_qloop_89;
+                const real_t q_tmp_7_4 = tmp_moved_constant_124*tmp_qloop_89;
+                const real_t q_tmp_7_5 = tmp_moved_constant_125*tmp_qloop_89;
+                const real_t q_tmp_7_6 = tmp_moved_constant_129*tmp_qloop_89;
+                const real_t q_tmp_7_7 = tmp_moved_constant_132*tmp_qloop_89;
+                const real_t q_tmp_7_8 = tmp_moved_constant_134*tmp_qloop_89;
+                const real_t q_tmp_7_9 = tmp_moved_constant_135*tmp_qloop_89;
+                const real_t q_tmp_8_0 = tmp_moved_constant_117*tmp_qloop_92;
+                const real_t q_tmp_8_1 = tmp_moved_constant_118*tmp_qloop_92;
+                const real_t q_tmp_8_2 = tmp_moved_constant_119*tmp_qloop_92;
+                const real_t q_tmp_8_3 = tmp_moved_constant_120*tmp_qloop_92;
+                const real_t q_tmp_8_4 = tmp_moved_constant_124*tmp_qloop_92;
+                const real_t q_tmp_8_5 = tmp_moved_constant_125*tmp_qloop_92;
+                const real_t q_tmp_8_6 = tmp_moved_constant_129*tmp_qloop_92;
+                const real_t q_tmp_8_7 = tmp_moved_constant_132*tmp_qloop_92;
+                const real_t q_tmp_8_8 = tmp_moved_constant_134*tmp_qloop_92;
+                const real_t q_tmp_8_9 = tmp_moved_constant_135*tmp_qloop_92;
+                const real_t q_tmp_9_0 = tmp_moved_constant_117*tmp_qloop_94;
+                const real_t q_tmp_9_1 = tmp_moved_constant_118*tmp_qloop_94;
+                const real_t q_tmp_9_2 = tmp_moved_constant_119*tmp_qloop_94;
+                const real_t q_tmp_9_3 = tmp_moved_constant_120*tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_moved_constant_124*tmp_qloop_94;
+                const real_t q_tmp_9_5 = tmp_moved_constant_125*tmp_qloop_94;
+                const real_t q_tmp_9_6 = tmp_moved_constant_129*tmp_qloop_94;
+                const real_t q_tmp_9_7 = tmp_moved_constant_132*tmp_qloop_94;
+                const real_t q_tmp_9_8 = tmp_moved_constant_134*tmp_qloop_94;
+                const real_t q_tmp_9_9 = tmp_moved_constant_135*tmp_qloop_94;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+             const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+             const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+             const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+             const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+             const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+             _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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))] = elMatVec_6 + _data_dstEdge[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_dstEdge[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] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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 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 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_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 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN;
+       const real_t tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN);
+       const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN);
+       const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN);
+       const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN);
+       const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN);
+       const real_t tmp_moved_constant_136 = jac_affine_inv_2_0_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_137 = jac_affine_inv_0_0_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_138 = jac_affine_inv_1_0_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_139 = tmp_moved_constant_137 + tmp_moved_constant_138;
+       const real_t tmp_moved_constant_140 = tmp_moved_constant_136 + tmp_moved_constant_139;
+       const real_t tmp_moved_constant_141 = jac_affine_inv_2_1_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_142 = jac_affine_inv_0_1_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_143 = jac_affine_inv_1_1_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_144 = tmp_moved_constant_142 + tmp_moved_constant_143;
+       const real_t tmp_moved_constant_145 = tmp_moved_constant_141 + tmp_moved_constant_144;
+       const real_t tmp_moved_constant_146 = jac_affine_inv_2_2_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_147 = jac_affine_inv_0_2_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_148 = jac_affine_inv_1_2_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_149 = tmp_moved_constant_147 + tmp_moved_constant_148;
+       const real_t tmp_moved_constant_150 = tmp_moved_constant_146 + tmp_moved_constant_149;
+       const real_t tmp_moved_constant_151 = jac_affine_inv_0_0_GREEN_DOWN*tmp_moved_constant_140 + jac_affine_inv_0_1_GREEN_DOWN*tmp_moved_constant_145 + jac_affine_inv_0_2_GREEN_DOWN*tmp_moved_constant_150 + jac_affine_inv_1_0_GREEN_DOWN*tmp_moved_constant_140 + jac_affine_inv_1_1_GREEN_DOWN*tmp_moved_constant_145 + jac_affine_inv_1_2_GREEN_DOWN*tmp_moved_constant_150 + jac_affine_inv_2_0_GREEN_DOWN*tmp_moved_constant_140 + jac_affine_inv_2_1_GREEN_DOWN*tmp_moved_constant_145 + jac_affine_inv_2_2_GREEN_DOWN*tmp_moved_constant_150;
+       const real_t tmp_moved_constant_152 = (jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN)*4.0 + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN)*4.0 + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)*4.0;
+       const real_t tmp_moved_constant_153 = (jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN)*4.0 + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN)*4.0 + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)*4.0;
+       const real_t tmp_moved_constant_154 = (jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN)*4.0 + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN)*4.0 + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)*4.0;
+       const real_t tmp_moved_constant_155 = jac_affine_inv_2_0_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_156 = jac_affine_inv_2_1_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_157 = jac_affine_inv_2_2_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_158 = jac_affine_inv_1_0_GREEN_DOWN*tmp_moved_constant_155 + jac_affine_inv_1_1_GREEN_DOWN*tmp_moved_constant_156 + jac_affine_inv_1_2_GREEN_DOWN*tmp_moved_constant_157;
+       const real_t tmp_moved_constant_159 = jac_affine_inv_0_0_GREEN_DOWN*tmp_moved_constant_155 + jac_affine_inv_0_1_GREEN_DOWN*tmp_moved_constant_156 + jac_affine_inv_0_2_GREEN_DOWN*tmp_moved_constant_157;
+       const real_t tmp_moved_constant_160 = jac_affine_inv_1_0_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_161 = jac_affine_inv_1_1_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_162 = jac_affine_inv_1_2_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_163 = jac_affine_inv_0_0_GREEN_DOWN*tmp_moved_constant_160 + jac_affine_inv_0_1_GREEN_DOWN*tmp_moved_constant_161 + jac_affine_inv_0_2_GREEN_DOWN*tmp_moved_constant_162;
+       const real_t tmp_moved_constant_164 = jac_affine_inv_2_0_GREEN_DOWN*tmp_moved_constant_138 + jac_affine_inv_2_1_GREEN_DOWN*tmp_moved_constant_143 + jac_affine_inv_2_2_GREEN_DOWN*tmp_moved_constant_148;
+       const real_t tmp_moved_constant_165 = jac_affine_inv_2_0_GREEN_DOWN*tmp_moved_constant_137 + jac_affine_inv_2_1_GREEN_DOWN*tmp_moved_constant_142 + jac_affine_inv_2_2_GREEN_DOWN*tmp_moved_constant_147;
+       const real_t tmp_moved_constant_166 = jac_affine_inv_2_0_GREEN_DOWN*(-tmp_moved_constant_139 - tmp_moved_constant_155) + jac_affine_inv_2_1_GREEN_DOWN*(-tmp_moved_constant_144 - tmp_moved_constant_156) + jac_affine_inv_2_2_GREEN_DOWN*(-tmp_moved_constant_149 - tmp_moved_constant_157) - tmp_moved_constant_164 - tmp_moved_constant_165;
+       const real_t tmp_moved_constant_167 = jac_affine_inv_1_0_GREEN_DOWN*tmp_moved_constant_137 + jac_affine_inv_1_1_GREEN_DOWN*tmp_moved_constant_142 + jac_affine_inv_1_2_GREEN_DOWN*tmp_moved_constant_147;
+       const real_t tmp_moved_constant_168 = jac_affine_inv_1_0_GREEN_DOWN*(-tmp_moved_constant_136 - tmp_moved_constant_137 - tmp_moved_constant_160) + jac_affine_inv_1_1_GREEN_DOWN*(-tmp_moved_constant_141 - tmp_moved_constant_142 - tmp_moved_constant_161) + jac_affine_inv_1_2_GREEN_DOWN*(-tmp_moved_constant_146 - tmp_moved_constant_147 - tmp_moved_constant_162) - tmp_moved_constant_164 - tmp_moved_constant_167;
+       const real_t tmp_moved_constant_169 = jac_affine_inv_0_0_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*-8.0 - tmp_moved_constant_136 - tmp_moved_constant_138) + jac_affine_inv_0_1_GREEN_DOWN*(jac_affine_inv_0_1_GREEN_DOWN*-8.0 - tmp_moved_constant_141 - tmp_moved_constant_143) + jac_affine_inv_0_2_GREEN_DOWN*(jac_affine_inv_0_2_GREEN_DOWN*-8.0 - tmp_moved_constant_146 - tmp_moved_constant_148) - tmp_moved_constant_165 - tmp_moved_constant_167;
+       {
+          /* CellType.GREEN_DOWN */
+          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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_16 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_17 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_18 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18;
+                const real_t tmp_qloop_20 = tmp_qloop_16 + tmp_qloop_19 - 3.0;
+                const real_t tmp_qloop_21 = tmp_qloop_17*_data_q_p_1[q];
+                const real_t tmp_qloop_22 = tmp_qloop_17*_data_q_p_2[q];
+                const real_t tmp_qloop_23 = tmp_qloop_18*_data_q_p_2[q];
+                const real_t tmp_qloop_24 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_25 = tmp_qloop_24*2.0;
+                const real_t tmp_qloop_26 = tmp_qloop_25 - _data_q_p_0[q];
+                const real_t tmp_qloop_27 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_28 = tmp_qloop_27*2.0;
+                const real_t tmp_qloop_29 = tmp_qloop_28 - _data_q_p_1[q];
+                const real_t tmp_qloop_30 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_31 = tmp_qloop_30*2.0;
+                const real_t tmp_qloop_32 = tmp_qloop_31 - _data_q_p_2[q];
+                const real_t tmp_qloop_33 = tmp_qloop_16 - tmp_qloop_22 - tmp_qloop_23 + tmp_qloop_30*-4.0;
+                const real_t tmp_qloop_34 = tmp_qloop_18 - tmp_qloop_21 - tmp_qloop_23 + tmp_qloop_27*-4.0;
+                const real_t tmp_qloop_35 = tmp_qloop_21 + tmp_qloop_22;
+                const real_t tmp_qloop_36 = tmp_qloop_17 + tmp_qloop_24*-4.0 - tmp_qloop_35;
+                const real_t tmp_qloop_37 = tmp_qloop_23 + tmp_qloop_25 + tmp_qloop_28 + tmp_qloop_31 + tmp_qloop_35 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                const real_t tmp_qloop_38 = tmp_qloop_21*wx_dof_6 + tmp_qloop_22*wx_dof_5 + tmp_qloop_23*wx_dof_4 + tmp_qloop_26*wx_dof_1 + tmp_qloop_29*wx_dof_2 + tmp_qloop_32*wx_dof_3 + tmp_qloop_33*wx_dof_7 + tmp_qloop_34*wx_dof_8 + tmp_qloop_36*wx_dof_9 + tmp_qloop_37*wx_dof_0;
+                const real_t tmp_qloop_39 = tmp_qloop_21*wy_dof_6 + tmp_qloop_22*wy_dof_5 + tmp_qloop_23*wy_dof_4 + tmp_qloop_26*wy_dof_1 + tmp_qloop_29*wy_dof_2 + tmp_qloop_32*wy_dof_3 + tmp_qloop_33*wy_dof_7 + tmp_qloop_34*wy_dof_8 + tmp_qloop_36*wy_dof_9 + tmp_qloop_37*wy_dof_0;
+                const real_t tmp_qloop_40 = tmp_qloop_21*wz_dof_6 + tmp_qloop_22*wz_dof_5 + tmp_qloop_23*wz_dof_4 + tmp_qloop_26*wz_dof_1 + tmp_qloop_29*wz_dof_2 + tmp_qloop_32*wz_dof_3 + tmp_qloop_33*wz_dof_7 + tmp_qloop_34*wz_dof_8 + tmp_qloop_36*wz_dof_9 + tmp_qloop_37*wz_dof_0;
+                const real_t tmp_qloop_41 = abs_det_jac_affine_GREEN_DOWN*(diffusivity_times_delta_dof_0*tmp_qloop_37 + diffusivity_times_delta_dof_1*tmp_qloop_26 + diffusivity_times_delta_dof_2*tmp_qloop_29 + diffusivity_times_delta_dof_3*tmp_qloop_32 + diffusivity_times_delta_dof_4*tmp_qloop_23 + diffusivity_times_delta_dof_5*tmp_qloop_22 + diffusivity_times_delta_dof_6*tmp_qloop_21 + diffusivity_times_delta_dof_7*tmp_qloop_33 + diffusivity_times_delta_dof_8*tmp_qloop_34 + diffusivity_times_delta_dof_9*tmp_qloop_36)*_data_q_w[q];
+                const real_t tmp_qloop_42 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_20 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_20 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_20) + tmp_qloop_39*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_20 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_20 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_20) + tmp_qloop_40*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_20 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_20 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_20));
+                const real_t tmp_qloop_61 = tmp_qloop_17 - 1.0;
+                const real_t tmp_qloop_62 = tmp_qloop_41*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_38*tmp_qloop_61 + jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_39*tmp_qloop_61 + jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_40*tmp_qloop_61);
+                const real_t tmp_qloop_63 = tmp_qloop_18 - 1.0;
+                const real_t tmp_qloop_64 = tmp_qloop_41*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_38*tmp_qloop_63 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_39*tmp_qloop_63 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_40*tmp_qloop_63);
+                const real_t tmp_qloop_65 = tmp_qloop_16 - 1.0;
+                const real_t tmp_qloop_66 = tmp_qloop_41*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_38*tmp_qloop_65 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_39*tmp_qloop_65 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_40*tmp_qloop_65);
+                const real_t tmp_qloop_67 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_68 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_69 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_70 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_71 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_72 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_73 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_67 + tmp_qloop_68) + tmp_qloop_39*(tmp_qloop_69 + tmp_qloop_70) + tmp_qloop_40*(tmp_qloop_71 + tmp_qloop_72));
+                const real_t tmp_qloop_74 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_75 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_76 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_77 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_78 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_79 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_80 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_74 + tmp_qloop_75) + tmp_qloop_39*(tmp_qloop_76 + tmp_qloop_77) + tmp_qloop_40*(tmp_qloop_78 + tmp_qloop_79));
+                const real_t tmp_qloop_81 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_82 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_83 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_84 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_85 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_86 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_87 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_81 + tmp_qloop_82) + tmp_qloop_39*(tmp_qloop_83 + tmp_qloop_84) + tmp_qloop_40*(tmp_qloop_85 + tmp_qloop_86));
+                const real_t tmp_qloop_88 = -tmp_qloop_19 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_89 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_88 - tmp_qloop_68 - tmp_qloop_75) + tmp_qloop_39*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_88 - tmp_qloop_70 - tmp_qloop_77) + tmp_qloop_40*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_88 - tmp_qloop_72 - tmp_qloop_79));
+                const real_t tmp_qloop_90 = tmp_qloop_16 - 4.0;
+                const real_t tmp_qloop_91 = -tmp_qloop_17 - tmp_qloop_90 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_92 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_91 - tmp_qloop_67 - tmp_qloop_82) + tmp_qloop_39*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_91 - tmp_qloop_69 - tmp_qloop_84) + tmp_qloop_40*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_91 - tmp_qloop_71 - tmp_qloop_86));
+                const real_t tmp_qloop_93 = -tmp_qloop_18 - tmp_qloop_90 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_94 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_93 - tmp_qloop_74 - tmp_qloop_81) + tmp_qloop_39*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_93 - tmp_qloop_76 - tmp_qloop_83) + tmp_qloop_40*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_93 - tmp_qloop_78 - tmp_qloop_85));
+                const real_t q_tmp_0_0 = tmp_moved_constant_151*tmp_qloop_42;
+                const real_t q_tmp_0_1 = tmp_moved_constant_152*tmp_qloop_42;
+                const real_t q_tmp_0_2 = tmp_moved_constant_153*tmp_qloop_42;
+                const real_t q_tmp_0_3 = tmp_moved_constant_154*tmp_qloop_42;
+                const real_t q_tmp_0_4 = tmp_moved_constant_158*tmp_qloop_42;
+                const real_t q_tmp_0_5 = tmp_moved_constant_159*tmp_qloop_42;
+                const real_t q_tmp_0_6 = tmp_moved_constant_163*tmp_qloop_42;
+                const real_t q_tmp_0_7 = tmp_moved_constant_166*tmp_qloop_42;
+                const real_t q_tmp_0_8 = tmp_moved_constant_168*tmp_qloop_42;
+                const real_t q_tmp_0_9 = tmp_moved_constant_169*tmp_qloop_42;
+                const real_t q_tmp_1_0 = tmp_moved_constant_151*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_moved_constant_152*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_moved_constant_153*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_moved_constant_154*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_moved_constant_158*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_moved_constant_159*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_moved_constant_163*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_moved_constant_166*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_moved_constant_168*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_moved_constant_169*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_moved_constant_151*tmp_qloop_64;
+                const real_t q_tmp_2_1 = tmp_moved_constant_152*tmp_qloop_64;
+                const real_t q_tmp_2_2 = tmp_moved_constant_153*tmp_qloop_64;
+                const real_t q_tmp_2_3 = tmp_moved_constant_154*tmp_qloop_64;
+                const real_t q_tmp_2_4 = tmp_moved_constant_158*tmp_qloop_64;
+                const real_t q_tmp_2_5 = tmp_moved_constant_159*tmp_qloop_64;
+                const real_t q_tmp_2_6 = tmp_moved_constant_163*tmp_qloop_64;
+                const real_t q_tmp_2_7 = tmp_moved_constant_166*tmp_qloop_64;
+                const real_t q_tmp_2_8 = tmp_moved_constant_168*tmp_qloop_64;
+                const real_t q_tmp_2_9 = tmp_moved_constant_169*tmp_qloop_64;
+                const real_t q_tmp_3_0 = tmp_moved_constant_151*tmp_qloop_66;
+                const real_t q_tmp_3_1 = tmp_moved_constant_152*tmp_qloop_66;
+                const real_t q_tmp_3_2 = tmp_moved_constant_153*tmp_qloop_66;
+                const real_t q_tmp_3_3 = tmp_moved_constant_154*tmp_qloop_66;
+                const real_t q_tmp_3_4 = tmp_moved_constant_158*tmp_qloop_66;
+                const real_t q_tmp_3_5 = tmp_moved_constant_159*tmp_qloop_66;
+                const real_t q_tmp_3_6 = tmp_moved_constant_163*tmp_qloop_66;
+                const real_t q_tmp_3_7 = tmp_moved_constant_166*tmp_qloop_66;
+                const real_t q_tmp_3_8 = tmp_moved_constant_168*tmp_qloop_66;
+                const real_t q_tmp_3_9 = tmp_moved_constant_169*tmp_qloop_66;
+                const real_t q_tmp_4_0 = tmp_moved_constant_151*tmp_qloop_73;
+                const real_t q_tmp_4_1 = tmp_moved_constant_152*tmp_qloop_73;
+                const real_t q_tmp_4_2 = tmp_moved_constant_153*tmp_qloop_73;
+                const real_t q_tmp_4_3 = tmp_moved_constant_154*tmp_qloop_73;
+                const real_t q_tmp_4_4 = tmp_moved_constant_158*tmp_qloop_73;
+                const real_t q_tmp_4_5 = tmp_moved_constant_159*tmp_qloop_73;
+                const real_t q_tmp_4_6 = tmp_moved_constant_163*tmp_qloop_73;
+                const real_t q_tmp_4_7 = tmp_moved_constant_166*tmp_qloop_73;
+                const real_t q_tmp_4_8 = tmp_moved_constant_168*tmp_qloop_73;
+                const real_t q_tmp_4_9 = tmp_moved_constant_169*tmp_qloop_73;
+                const real_t q_tmp_5_0 = tmp_moved_constant_151*tmp_qloop_80;
+                const real_t q_tmp_5_1 = tmp_moved_constant_152*tmp_qloop_80;
+                const real_t q_tmp_5_2 = tmp_moved_constant_153*tmp_qloop_80;
+                const real_t q_tmp_5_3 = tmp_moved_constant_154*tmp_qloop_80;
+                const real_t q_tmp_5_4 = tmp_moved_constant_158*tmp_qloop_80;
+                const real_t q_tmp_5_5 = tmp_moved_constant_159*tmp_qloop_80;
+                const real_t q_tmp_5_6 = tmp_moved_constant_163*tmp_qloop_80;
+                const real_t q_tmp_5_7 = tmp_moved_constant_166*tmp_qloop_80;
+                const real_t q_tmp_5_8 = tmp_moved_constant_168*tmp_qloop_80;
+                const real_t q_tmp_5_9 = tmp_moved_constant_169*tmp_qloop_80;
+                const real_t q_tmp_6_0 = tmp_moved_constant_151*tmp_qloop_87;
+                const real_t q_tmp_6_1 = tmp_moved_constant_152*tmp_qloop_87;
+                const real_t q_tmp_6_2 = tmp_moved_constant_153*tmp_qloop_87;
+                const real_t q_tmp_6_3 = tmp_moved_constant_154*tmp_qloop_87;
+                const real_t q_tmp_6_4 = tmp_moved_constant_158*tmp_qloop_87;
+                const real_t q_tmp_6_5 = tmp_moved_constant_159*tmp_qloop_87;
+                const real_t q_tmp_6_6 = tmp_moved_constant_163*tmp_qloop_87;
+                const real_t q_tmp_6_7 = tmp_moved_constant_166*tmp_qloop_87;
+                const real_t q_tmp_6_8 = tmp_moved_constant_168*tmp_qloop_87;
+                const real_t q_tmp_6_9 = tmp_moved_constant_169*tmp_qloop_87;
+                const real_t q_tmp_7_0 = tmp_moved_constant_151*tmp_qloop_89;
+                const real_t q_tmp_7_1 = tmp_moved_constant_152*tmp_qloop_89;
+                const real_t q_tmp_7_2 = tmp_moved_constant_153*tmp_qloop_89;
+                const real_t q_tmp_7_3 = tmp_moved_constant_154*tmp_qloop_89;
+                const real_t q_tmp_7_4 = tmp_moved_constant_158*tmp_qloop_89;
+                const real_t q_tmp_7_5 = tmp_moved_constant_159*tmp_qloop_89;
+                const real_t q_tmp_7_6 = tmp_moved_constant_163*tmp_qloop_89;
+                const real_t q_tmp_7_7 = tmp_moved_constant_166*tmp_qloop_89;
+                const real_t q_tmp_7_8 = tmp_moved_constant_168*tmp_qloop_89;
+                const real_t q_tmp_7_9 = tmp_moved_constant_169*tmp_qloop_89;
+                const real_t q_tmp_8_0 = tmp_moved_constant_151*tmp_qloop_92;
+                const real_t q_tmp_8_1 = tmp_moved_constant_152*tmp_qloop_92;
+                const real_t q_tmp_8_2 = tmp_moved_constant_153*tmp_qloop_92;
+                const real_t q_tmp_8_3 = tmp_moved_constant_154*tmp_qloop_92;
+                const real_t q_tmp_8_4 = tmp_moved_constant_158*tmp_qloop_92;
+                const real_t q_tmp_8_5 = tmp_moved_constant_159*tmp_qloop_92;
+                const real_t q_tmp_8_6 = tmp_moved_constant_163*tmp_qloop_92;
+                const real_t q_tmp_8_7 = tmp_moved_constant_166*tmp_qloop_92;
+                const real_t q_tmp_8_8 = tmp_moved_constant_168*tmp_qloop_92;
+                const real_t q_tmp_8_9 = tmp_moved_constant_169*tmp_qloop_92;
+                const real_t q_tmp_9_0 = tmp_moved_constant_151*tmp_qloop_94;
+                const real_t q_tmp_9_1 = tmp_moved_constant_152*tmp_qloop_94;
+                const real_t q_tmp_9_2 = tmp_moved_constant_153*tmp_qloop_94;
+                const real_t q_tmp_9_3 = tmp_moved_constant_154*tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_moved_constant_158*tmp_qloop_94;
+                const real_t q_tmp_9_5 = tmp_moved_constant_159*tmp_qloop_94;
+                const real_t q_tmp_9_6 = tmp_moved_constant_163*tmp_qloop_94;
+                const real_t q_tmp_9_7 = tmp_moved_constant_166*tmp_qloop_94;
+                const real_t q_tmp_9_8 = tmp_moved_constant_168*tmp_qloop_94;
+                const real_t q_tmp_9_9 = tmp_moved_constant_169*tmp_qloop_94;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMatVec_4 = q_acc_4_0*src_dof_0 + q_acc_4_1*src_dof_1 + q_acc_4_2*src_dof_2 + q_acc_4_3*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9;
+             const real_t elMatVec_5 = q_acc_5_0*src_dof_0 + q_acc_5_1*src_dof_1 + q_acc_5_2*src_dof_2 + q_acc_5_3*src_dof_3 + q_acc_5_4*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9;
+             const real_t elMatVec_6 = q_acc_6_0*src_dof_0 + q_acc_6_1*src_dof_1 + q_acc_6_2*src_dof_2 + q_acc_6_3*src_dof_3 + q_acc_6_4*src_dof_4 + q_acc_6_5*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9;
+             const real_t elMatVec_7 = q_acc_7_0*src_dof_0 + q_acc_7_1*src_dof_1 + q_acc_7_2*src_dof_2 + q_acc_7_3*src_dof_3 + q_acc_7_4*src_dof_4 + q_acc_7_5*src_dof_5 + q_acc_7_6*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9;
+             const real_t elMatVec_8 = q_acc_8_0*src_dof_0 + q_acc_8_1*src_dof_1 + q_acc_8_2*src_dof_2 + q_acc_8_3*src_dof_3 + q_acc_8_4*src_dof_4 + q_acc_8_5*src_dof_5 + q_acc_8_6*src_dof_6 + q_acc_8_7*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9;
+             const real_t elMatVec_9 = q_acc_9_0*src_dof_0 + q_acc_9_1*src_dof_1 + q_acc_9_2*src_dof_2 + q_acc_9_3*src_dof_3 + q_acc_9_4*src_dof_4 + q_acc_9_5*src_dof_5 + q_acc_9_6*src_dof_6 + q_acc_9_7*src_dof_7 + q_acc_9_8*src_dof_8 + q_acc_9_9*src_dof_9;
+             _data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_dstEdge[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))] = elMatVec_4 + _data_dstEdge[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_dstEdge[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))] = elMatVec_5 + _data_dstEdge[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_dstEdge[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] = elMatVec_6 + _data_dstEdge[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_dstEdge[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))] = elMatVec_7 + _data_dstEdge[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_dstEdge[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))] = elMatVec_8 + _data_dstEdge[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_dstEdge[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))] = elMatVec_9 + _data_dstEdge[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))];
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/supg_diffusion/noarch/P2ElementwiseSupgDiffusion_computeInverseDiagonalOperatorValues_P2ElementwiseSupgDiffusion_macro_3D.cpp b/operators/supg_diffusion/noarch/P2ElementwiseSupgDiffusion_computeInverseDiagonalOperatorValues_P2ElementwiseSupgDiffusion_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..e01b72557542cbb15cbb586500f651c462c0b075
--- /dev/null
+++ b/operators/supg_diffusion/noarch/P2ElementwiseSupgDiffusion_computeInverseDiagonalOperatorValues_P2ElementwiseSupgDiffusion_macro_3D.cpp
@@ -0,0 +1,1590 @@
+/*
+* 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 Operator Generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ElementwiseSupgDiffusion.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ElementwiseSupgDiffusion::computeInverseDiagonalOperatorValues_P2ElementwiseSupgDiffusion_macro_3D( real_t * RESTRICT  _data_diffusivity_times_deltaEdge, real_t * RESTRICT  _data_diffusivity_times_deltaVertex, real_t * RESTRICT  _data_invDiag_Edge, real_t * RESTRICT  _data_invDiag_Vertex, real_t * RESTRICT  _data_wxEdge, real_t * RESTRICT  _data_wxVertex, real_t * RESTRICT  _data_wyEdge, real_t * RESTRICT  _data_wyVertex, real_t * RESTRICT  _data_wzEdge, real_t * RESTRICT  _data_wzVertex, 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 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_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 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_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 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_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 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP;
+       const real_t tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP);
+       const real_t jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP);
+       const real_t jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP);
+       const real_t jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP);
+       const real_t jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP);
+       const real_t tmp_qloop_25 = jac_affine_inv_2_0_WHITE_UP*4.0;
+       const real_t tmp_qloop_26 = jac_affine_inv_0_0_WHITE_UP*4.0;
+       const real_t tmp_qloop_27 = jac_affine_inv_1_0_WHITE_UP*4.0;
+       const real_t tmp_qloop_28 = tmp_qloop_26 + tmp_qloop_27;
+       const real_t tmp_qloop_29 = tmp_qloop_25 + tmp_qloop_28;
+       const real_t tmp_qloop_30 = jac_affine_inv_2_1_WHITE_UP*4.0;
+       const real_t tmp_qloop_31 = jac_affine_inv_0_1_WHITE_UP*4.0;
+       const real_t tmp_qloop_32 = jac_affine_inv_1_1_WHITE_UP*4.0;
+       const real_t tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32;
+       const real_t tmp_qloop_34 = tmp_qloop_30 + tmp_qloop_33;
+       const real_t tmp_qloop_35 = jac_affine_inv_2_2_WHITE_UP*4.0;
+       const real_t tmp_qloop_36 = jac_affine_inv_0_2_WHITE_UP*4.0;
+       const real_t tmp_qloop_37 = jac_affine_inv_1_2_WHITE_UP*4.0;
+       const real_t tmp_qloop_38 = tmp_qloop_36 + tmp_qloop_37;
+       const real_t tmp_qloop_39 = tmp_qloop_35 + tmp_qloop_38;
+       const real_t tmp_qloop_50 = jac_affine_inv_2_0_WHITE_UP*8.0;
+       const real_t tmp_qloop_51 = jac_affine_inv_2_1_WHITE_UP*8.0;
+       const real_t tmp_qloop_52 = jac_affine_inv_2_2_WHITE_UP*8.0;
+       const real_t tmp_qloop_65 = jac_affine_inv_1_0_WHITE_UP*8.0;
+       const real_t tmp_qloop_66 = jac_affine_inv_1_1_WHITE_UP*8.0;
+       const real_t tmp_qloop_67 = jac_affine_inv_1_2_WHITE_UP*8.0;
+       const real_t tmp_qloop_69 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_27 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_32 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_37;
+       const real_t tmp_qloop_70 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_26 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_31 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_36;
+       const real_t tmp_qloop_73 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_26 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_31 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_36;
+       {
+          /* CellType.WHITE_UP */
+          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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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_1_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*wx_dof_1 + tmp_qloop_13*wx_dof_2 + tmp_qloop_16*wx_dof_3 + tmp_qloop_17*wx_dof_7 + tmp_qloop_18*wx_dof_8 + tmp_qloop_20*wx_dof_9 + tmp_qloop_21*wx_dof_0 + tmp_qloop_5*wx_dof_6 + tmp_qloop_6*wx_dof_5 + tmp_qloop_7*wx_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*wy_dof_1 + tmp_qloop_13*wy_dof_2 + tmp_qloop_16*wy_dof_3 + tmp_qloop_17*wy_dof_7 + tmp_qloop_18*wy_dof_8 + tmp_qloop_20*wy_dof_9 + tmp_qloop_21*wy_dof_0 + tmp_qloop_5*wy_dof_6 + tmp_qloop_6*wy_dof_5 + tmp_qloop_7*wy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*wz_dof_1 + tmp_qloop_13*wz_dof_2 + tmp_qloop_16*wz_dof_3 + tmp_qloop_17*wz_dof_7 + tmp_qloop_18*wz_dof_8 + tmp_qloop_20*wz_dof_9 + tmp_qloop_21*wz_dof_0 + tmp_qloop_5*wz_dof_6 + tmp_qloop_6*wz_dof_5 + tmp_qloop_7*wz_dof_4;
+                const real_t tmp_qloop_40 = abs_det_jac_affine_WHITE_UP*(diffusivity_times_delta_dof_0*tmp_qloop_21 + diffusivity_times_delta_dof_1*tmp_qloop_10 + diffusivity_times_delta_dof_2*tmp_qloop_13 + diffusivity_times_delta_dof_3*tmp_qloop_16 + diffusivity_times_delta_dof_4*tmp_qloop_7 + diffusivity_times_delta_dof_5*tmp_qloop_6 + diffusivity_times_delta_dof_6*tmp_qloop_5 + diffusivity_times_delta_dof_7*tmp_qloop_17 + diffusivity_times_delta_dof_8*tmp_qloop_18 + diffusivity_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_41 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_42 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_43 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_44 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_45 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_46 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_47 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_48 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_49 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_53 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_54 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_55 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_56 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_57 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_58 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_59 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_60 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_61 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_62 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_63 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_64 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_68 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_71 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_72 = -tmp_qloop_1 - tmp_qloop_71 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_74 = -tmp_qloop_2 - tmp_qloop_71 - 8.0*_data_q_p_0[q];
+                const real_t q_tmp_0_0 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_4))*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_29 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_34 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_39 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_29 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_34 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_39 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_29 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_34 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_39);
+                const real_t q_tmp_1_1 = tmp_qloop_40*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP)*4.0 + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP)*4.0 + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)*4.0)*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_22*tmp_qloop_41 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_23*tmp_qloop_41 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_24*tmp_qloop_41);
+                const real_t q_tmp_2_2 = tmp_qloop_40*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP)*4.0 + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP)*4.0 + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)*4.0)*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_22*tmp_qloop_42 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_23*tmp_qloop_42 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_24*tmp_qloop_42);
+                const real_t q_tmp_3_3 = tmp_qloop_40*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP)*4.0 + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP)*4.0 + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)*4.0)*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_22*tmp_qloop_43 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_23*tmp_qloop_43 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_24*tmp_qloop_43);
+                const real_t q_tmp_4_4 = tmp_qloop_40*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_50 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_51 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_52)*(tmp_qloop_22*(tmp_qloop_44 + tmp_qloop_45) + tmp_qloop_23*(tmp_qloop_46 + tmp_qloop_47) + tmp_qloop_24*(tmp_qloop_48 + tmp_qloop_49));
+                const real_t q_tmp_5_5 = tmp_qloop_40*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_50 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_51 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_52)*(tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58));
+                const real_t q_tmp_6_6 = tmp_qloop_40*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_65 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_66 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_67)*(tmp_qloop_22*(tmp_qloop_59 + tmp_qloop_60) + tmp_qloop_23*(tmp_qloop_61 + tmp_qloop_62) + tmp_qloop_24*(tmp_qloop_63 + tmp_qloop_64));
+                const real_t q_tmp_7_7 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_58))*(jac_affine_inv_2_0_WHITE_UP*(-tmp_qloop_28 - tmp_qloop_50) + jac_affine_inv_2_1_WHITE_UP*(-tmp_qloop_33 - tmp_qloop_51) + jac_affine_inv_2_2_WHITE_UP*(-tmp_qloop_38 - tmp_qloop_52) - tmp_qloop_69 - tmp_qloop_70);
+                const real_t q_tmp_8_8 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_72 - tmp_qloop_44 - tmp_qloop_60) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_72 - tmp_qloop_46 - tmp_qloop_62) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_72 - tmp_qloop_48 - tmp_qloop_64))*(jac_affine_inv_1_0_WHITE_UP*(-tmp_qloop_25 - tmp_qloop_26 - tmp_qloop_65) + jac_affine_inv_1_1_WHITE_UP*(-tmp_qloop_30 - tmp_qloop_31 - tmp_qloop_66) + jac_affine_inv_1_2_WHITE_UP*(-tmp_qloop_35 - tmp_qloop_36 - tmp_qloop_67) - tmp_qloop_69 - tmp_qloop_73);
+                const real_t q_tmp_9_9 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_74 - tmp_qloop_53 - tmp_qloop_59) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_74 - tmp_qloop_55 - tmp_qloop_61) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_74 - tmp_qloop_57 - tmp_qloop_63))*(jac_affine_inv_0_0_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*-8.0 - tmp_qloop_25 - tmp_qloop_27) + jac_affine_inv_0_1_WHITE_UP*(jac_affine_inv_0_1_WHITE_UP*-8.0 - tmp_qloop_30 - tmp_qloop_32) + jac_affine_inv_0_2_WHITE_UP*(jac_affine_inv_0_2_WHITE_UP*-8.0 - tmp_qloop_35 - tmp_qloop_37) - tmp_qloop_70 - tmp_qloop_73);
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+             }
+             const real_t elMatDiag_0 = q_acc_0_0;
+             const real_t elMatDiag_1 = q_acc_1_1;
+             const real_t elMatDiag_2 = q_acc_2_2;
+             const real_t elMatDiag_3 = q_acc_3_3;
+             const real_t elMatDiag_4 = q_acc_4_4;
+             const real_t elMatDiag_5 = q_acc_5_5;
+             const real_t elMatDiag_6 = q_acc_6_6;
+             const real_t elMatDiag_7 = q_acc_7_7;
+             const real_t elMatDiag_8 = q_acc_8_8;
+             const real_t elMatDiag_9 = q_acc_9_9;
+             _data_invDiag_Vertex[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))] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_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 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_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 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_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 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN;
+       const real_t tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN);
+       const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN);
+       const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN);
+       const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN);
+       const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN);
+       const real_t tmp_moved_constant_0 = jac_affine_inv_2_0_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_1 = jac_affine_inv_0_0_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_2 = jac_affine_inv_1_0_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_3 = tmp_moved_constant_1 + tmp_moved_constant_2;
+       const real_t tmp_moved_constant_4 = tmp_moved_constant_0 + tmp_moved_constant_3;
+       const real_t tmp_moved_constant_5 = jac_affine_inv_2_1_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_6 = jac_affine_inv_0_1_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_7 = jac_affine_inv_1_1_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_8 = tmp_moved_constant_6 + tmp_moved_constant_7;
+       const real_t tmp_moved_constant_9 = tmp_moved_constant_5 + tmp_moved_constant_8;
+       const real_t tmp_moved_constant_10 = jac_affine_inv_2_2_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_11 = jac_affine_inv_0_2_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_12 = jac_affine_inv_1_2_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_13 = tmp_moved_constant_11 + tmp_moved_constant_12;
+       const real_t tmp_moved_constant_14 = tmp_moved_constant_10 + tmp_moved_constant_13;
+       const real_t tmp_moved_constant_15 = jac_affine_inv_2_0_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_16 = jac_affine_inv_2_1_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_17 = jac_affine_inv_2_2_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_18 = jac_affine_inv_1_0_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_19 = jac_affine_inv_1_1_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_20 = jac_affine_inv_1_2_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_21 = jac_affine_inv_2_0_WHITE_DOWN*tmp_moved_constant_2 + jac_affine_inv_2_1_WHITE_DOWN*tmp_moved_constant_7 + jac_affine_inv_2_2_WHITE_DOWN*tmp_moved_constant_12;
+       const real_t tmp_moved_constant_22 = jac_affine_inv_2_0_WHITE_DOWN*tmp_moved_constant_1 + jac_affine_inv_2_1_WHITE_DOWN*tmp_moved_constant_6 + jac_affine_inv_2_2_WHITE_DOWN*tmp_moved_constant_11;
+       const real_t tmp_moved_constant_23 = jac_affine_inv_1_0_WHITE_DOWN*tmp_moved_constant_1 + jac_affine_inv_1_1_WHITE_DOWN*tmp_moved_constant_6 + jac_affine_inv_1_2_WHITE_DOWN*tmp_moved_constant_11;
+       {
+          /* CellType.WHITE_DOWN */
+          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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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_1_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*wx_dof_1 + tmp_qloop_13*wx_dof_2 + tmp_qloop_16*wx_dof_3 + tmp_qloop_17*wx_dof_7 + tmp_qloop_18*wx_dof_8 + tmp_qloop_20*wx_dof_9 + tmp_qloop_21*wx_dof_0 + tmp_qloop_5*wx_dof_6 + tmp_qloop_6*wx_dof_5 + tmp_qloop_7*wx_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*wy_dof_1 + tmp_qloop_13*wy_dof_2 + tmp_qloop_16*wy_dof_3 + tmp_qloop_17*wy_dof_7 + tmp_qloop_18*wy_dof_8 + tmp_qloop_20*wy_dof_9 + tmp_qloop_21*wy_dof_0 + tmp_qloop_5*wy_dof_6 + tmp_qloop_6*wy_dof_5 + tmp_qloop_7*wy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*wz_dof_1 + tmp_qloop_13*wz_dof_2 + tmp_qloop_16*wz_dof_3 + tmp_qloop_17*wz_dof_7 + tmp_qloop_18*wz_dof_8 + tmp_qloop_20*wz_dof_9 + tmp_qloop_21*wz_dof_0 + tmp_qloop_5*wz_dof_6 + tmp_qloop_6*wz_dof_5 + tmp_qloop_7*wz_dof_4;
+                const real_t tmp_qloop_40 = abs_det_jac_affine_WHITE_DOWN*(diffusivity_times_delta_dof_0*tmp_qloop_21 + diffusivity_times_delta_dof_1*tmp_qloop_10 + diffusivity_times_delta_dof_2*tmp_qloop_13 + diffusivity_times_delta_dof_3*tmp_qloop_16 + diffusivity_times_delta_dof_4*tmp_qloop_7 + diffusivity_times_delta_dof_5*tmp_qloop_6 + diffusivity_times_delta_dof_6*tmp_qloop_5 + diffusivity_times_delta_dof_7*tmp_qloop_17 + diffusivity_times_delta_dof_8*tmp_qloop_18 + diffusivity_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_41 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_42 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_43 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_44 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_45 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_46 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_47 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_48 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_49 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_53 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_54 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_55 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_56 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_57 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_58 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_59 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_60 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_61 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_62 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_63 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_64 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_68 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_71 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_72 = -tmp_qloop_1 - tmp_qloop_71 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_74 = -tmp_qloop_2 - tmp_qloop_71 - 8.0*_data_q_p_0[q];
+                const real_t q_tmp_0_0 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_4))*(jac_affine_inv_0_0_WHITE_DOWN*tmp_moved_constant_4 + jac_affine_inv_0_1_WHITE_DOWN*tmp_moved_constant_9 + jac_affine_inv_0_2_WHITE_DOWN*tmp_moved_constant_14 + jac_affine_inv_1_0_WHITE_DOWN*tmp_moved_constant_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_moved_constant_9 + jac_affine_inv_1_2_WHITE_DOWN*tmp_moved_constant_14 + jac_affine_inv_2_0_WHITE_DOWN*tmp_moved_constant_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_moved_constant_9 + jac_affine_inv_2_2_WHITE_DOWN*tmp_moved_constant_14);
+                const real_t q_tmp_1_1 = tmp_qloop_40*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN)*4.0 + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN)*4.0 + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)*4.0)*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_41 + jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_41 + jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_41);
+                const real_t q_tmp_2_2 = tmp_qloop_40*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN)*4.0 + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN)*4.0 + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)*4.0)*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_42 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_42 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_42);
+                const real_t q_tmp_3_3 = tmp_qloop_40*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN)*4.0 + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN)*4.0 + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)*4.0)*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_22*tmp_qloop_43 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_23*tmp_qloop_43 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_24*tmp_qloop_43);
+                const real_t q_tmp_4_4 = tmp_qloop_40*(jac_affine_inv_1_0_WHITE_DOWN*tmp_moved_constant_15 + jac_affine_inv_1_1_WHITE_DOWN*tmp_moved_constant_16 + jac_affine_inv_1_2_WHITE_DOWN*tmp_moved_constant_17)*(tmp_qloop_22*(tmp_qloop_44 + tmp_qloop_45) + tmp_qloop_23*(tmp_qloop_46 + tmp_qloop_47) + tmp_qloop_24*(tmp_qloop_48 + tmp_qloop_49));
+                const real_t q_tmp_5_5 = tmp_qloop_40*(jac_affine_inv_0_0_WHITE_DOWN*tmp_moved_constant_15 + jac_affine_inv_0_1_WHITE_DOWN*tmp_moved_constant_16 + jac_affine_inv_0_2_WHITE_DOWN*tmp_moved_constant_17)*(tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58));
+                const real_t q_tmp_6_6 = tmp_qloop_40*(jac_affine_inv_0_0_WHITE_DOWN*tmp_moved_constant_18 + jac_affine_inv_0_1_WHITE_DOWN*tmp_moved_constant_19 + jac_affine_inv_0_2_WHITE_DOWN*tmp_moved_constant_20)*(tmp_qloop_22*(tmp_qloop_59 + tmp_qloop_60) + tmp_qloop_23*(tmp_qloop_61 + tmp_qloop_62) + tmp_qloop_24*(tmp_qloop_63 + tmp_qloop_64));
+                const real_t q_tmp_7_7 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_58))*(jac_affine_inv_2_0_WHITE_DOWN*(-tmp_moved_constant_15 - tmp_moved_constant_3) + jac_affine_inv_2_1_WHITE_DOWN*(-tmp_moved_constant_16 - tmp_moved_constant_8) + jac_affine_inv_2_2_WHITE_DOWN*(-tmp_moved_constant_13 - tmp_moved_constant_17) - tmp_moved_constant_21 - tmp_moved_constant_22);
+                const real_t q_tmp_8_8 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_72 - tmp_qloop_44 - tmp_qloop_60) + tmp_qloop_23*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_72 - tmp_qloop_46 - tmp_qloop_62) + tmp_qloop_24*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_72 - tmp_qloop_48 - tmp_qloop_64))*(jac_affine_inv_1_0_WHITE_DOWN*(-tmp_moved_constant_0 - tmp_moved_constant_1 - tmp_moved_constant_18) + jac_affine_inv_1_1_WHITE_DOWN*(-tmp_moved_constant_19 - tmp_moved_constant_5 - tmp_moved_constant_6) + jac_affine_inv_1_2_WHITE_DOWN*(-tmp_moved_constant_10 - tmp_moved_constant_11 - tmp_moved_constant_20) - tmp_moved_constant_21 - tmp_moved_constant_23);
+                const real_t q_tmp_9_9 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_74 - tmp_qloop_53 - tmp_qloop_59) + tmp_qloop_23*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_74 - tmp_qloop_55 - tmp_qloop_61) + tmp_qloop_24*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_74 - tmp_qloop_57 - tmp_qloop_63))*(jac_affine_inv_0_0_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*-8.0 - tmp_moved_constant_0 - tmp_moved_constant_2) + jac_affine_inv_0_1_WHITE_DOWN*(jac_affine_inv_0_1_WHITE_DOWN*-8.0 - tmp_moved_constant_5 - tmp_moved_constant_7) + jac_affine_inv_0_2_WHITE_DOWN*(jac_affine_inv_0_2_WHITE_DOWN*-8.0 - tmp_moved_constant_10 - tmp_moved_constant_12) - tmp_moved_constant_22 - tmp_moved_constant_23);
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+             }
+             const real_t elMatDiag_0 = q_acc_0_0;
+             const real_t elMatDiag_1 = q_acc_1_1;
+             const real_t elMatDiag_2 = q_acc_2_2;
+             const real_t elMatDiag_3 = q_acc_3_3;
+             const real_t elMatDiag_4 = q_acc_4_4;
+             const real_t elMatDiag_5 = q_acc_5_5;
+             const real_t elMatDiag_6 = q_acc_6_6;
+             const real_t elMatDiag_7 = q_acc_7_7;
+             const real_t elMatDiag_8 = q_acc_8_8;
+             const real_t elMatDiag_9 = q_acc_9_9;
+             _data_invDiag_Vertex[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] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_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 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_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 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_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 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP;
+       const real_t tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP);
+       const real_t jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP);
+       const real_t jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP);
+       const real_t jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP);
+       const real_t jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP);
+       const real_t tmp_moved_constant_24 = jac_affine_inv_2_0_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_25 = jac_affine_inv_0_0_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_26 = jac_affine_inv_1_0_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_27 = tmp_moved_constant_25 + tmp_moved_constant_26;
+       const real_t tmp_moved_constant_28 = tmp_moved_constant_24 + tmp_moved_constant_27;
+       const real_t tmp_moved_constant_29 = jac_affine_inv_2_1_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_30 = jac_affine_inv_0_1_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_31 = jac_affine_inv_1_1_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_32 = tmp_moved_constant_30 + tmp_moved_constant_31;
+       const real_t tmp_moved_constant_33 = tmp_moved_constant_29 + tmp_moved_constant_32;
+       const real_t tmp_moved_constant_34 = jac_affine_inv_2_2_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_35 = jac_affine_inv_0_2_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_36 = jac_affine_inv_1_2_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_37 = tmp_moved_constant_35 + tmp_moved_constant_36;
+       const real_t tmp_moved_constant_38 = tmp_moved_constant_34 + tmp_moved_constant_37;
+       const real_t tmp_moved_constant_39 = jac_affine_inv_2_0_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_40 = jac_affine_inv_2_1_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_41 = jac_affine_inv_2_2_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_42 = jac_affine_inv_1_0_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_43 = jac_affine_inv_1_1_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_44 = jac_affine_inv_1_2_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_45 = jac_affine_inv_2_0_BLUE_UP*tmp_moved_constant_26 + jac_affine_inv_2_1_BLUE_UP*tmp_moved_constant_31 + jac_affine_inv_2_2_BLUE_UP*tmp_moved_constant_36;
+       const real_t tmp_moved_constant_46 = jac_affine_inv_2_0_BLUE_UP*tmp_moved_constant_25 + jac_affine_inv_2_1_BLUE_UP*tmp_moved_constant_30 + jac_affine_inv_2_2_BLUE_UP*tmp_moved_constant_35;
+       const real_t tmp_moved_constant_47 = jac_affine_inv_1_0_BLUE_UP*tmp_moved_constant_25 + jac_affine_inv_1_1_BLUE_UP*tmp_moved_constant_30 + jac_affine_inv_1_2_BLUE_UP*tmp_moved_constant_35;
+       {
+          /* CellType.BLUE_UP */
+          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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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_1_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*wx_dof_1 + tmp_qloop_13*wx_dof_2 + tmp_qloop_16*wx_dof_3 + tmp_qloop_17*wx_dof_7 + tmp_qloop_18*wx_dof_8 + tmp_qloop_20*wx_dof_9 + tmp_qloop_21*wx_dof_0 + tmp_qloop_5*wx_dof_6 + tmp_qloop_6*wx_dof_5 + tmp_qloop_7*wx_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*wy_dof_1 + tmp_qloop_13*wy_dof_2 + tmp_qloop_16*wy_dof_3 + tmp_qloop_17*wy_dof_7 + tmp_qloop_18*wy_dof_8 + tmp_qloop_20*wy_dof_9 + tmp_qloop_21*wy_dof_0 + tmp_qloop_5*wy_dof_6 + tmp_qloop_6*wy_dof_5 + tmp_qloop_7*wy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*wz_dof_1 + tmp_qloop_13*wz_dof_2 + tmp_qloop_16*wz_dof_3 + tmp_qloop_17*wz_dof_7 + tmp_qloop_18*wz_dof_8 + tmp_qloop_20*wz_dof_9 + tmp_qloop_21*wz_dof_0 + tmp_qloop_5*wz_dof_6 + tmp_qloop_6*wz_dof_5 + tmp_qloop_7*wz_dof_4;
+                const real_t tmp_qloop_40 = abs_det_jac_affine_BLUE_UP*(diffusivity_times_delta_dof_0*tmp_qloop_21 + diffusivity_times_delta_dof_1*tmp_qloop_10 + diffusivity_times_delta_dof_2*tmp_qloop_13 + diffusivity_times_delta_dof_3*tmp_qloop_16 + diffusivity_times_delta_dof_4*tmp_qloop_7 + diffusivity_times_delta_dof_5*tmp_qloop_6 + diffusivity_times_delta_dof_6*tmp_qloop_5 + diffusivity_times_delta_dof_7*tmp_qloop_17 + diffusivity_times_delta_dof_8*tmp_qloop_18 + diffusivity_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_41 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_42 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_43 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_44 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_45 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_46 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_47 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_48 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_49 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_53 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_54 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_55 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_56 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_57 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_58 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_0;
+                const real_t tmp_qloop_59 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_60 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_61 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_62 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_63 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_1;
+                const real_t tmp_qloop_64 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_2;
+                const real_t tmp_qloop_68 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_71 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_72 = -tmp_qloop_1 - tmp_qloop_71 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_74 = -tmp_qloop_2 - tmp_qloop_71 - 8.0*_data_q_p_0[q];
+                const real_t q_tmp_0_0 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_4))*(jac_affine_inv_0_0_BLUE_UP*tmp_moved_constant_28 + jac_affine_inv_0_1_BLUE_UP*tmp_moved_constant_33 + jac_affine_inv_0_2_BLUE_UP*tmp_moved_constant_38 + jac_affine_inv_1_0_BLUE_UP*tmp_moved_constant_28 + jac_affine_inv_1_1_BLUE_UP*tmp_moved_constant_33 + jac_affine_inv_1_2_BLUE_UP*tmp_moved_constant_38 + jac_affine_inv_2_0_BLUE_UP*tmp_moved_constant_28 + jac_affine_inv_2_1_BLUE_UP*tmp_moved_constant_33 + jac_affine_inv_2_2_BLUE_UP*tmp_moved_constant_38);
+                const real_t q_tmp_1_1 = tmp_qloop_40*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP)*4.0 + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP)*4.0 + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)*4.0)*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_22*tmp_qloop_41 + jac_affine_inv_0_1_BLUE_UP*tmp_qloop_23*tmp_qloop_41 + jac_affine_inv_0_2_BLUE_UP*tmp_qloop_24*tmp_qloop_41);
+                const real_t q_tmp_2_2 = tmp_qloop_40*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP)*4.0 + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP)*4.0 + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)*4.0)*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_22*tmp_qloop_42 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_23*tmp_qloop_42 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_24*tmp_qloop_42);
+                const real_t q_tmp_3_3 = tmp_qloop_40*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP)*4.0 + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP)*4.0 + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)*4.0)*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_22*tmp_qloop_43 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_23*tmp_qloop_43 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_24*tmp_qloop_43);
+                const real_t q_tmp_4_4 = tmp_qloop_40*(jac_affine_inv_1_0_BLUE_UP*tmp_moved_constant_39 + jac_affine_inv_1_1_BLUE_UP*tmp_moved_constant_40 + jac_affine_inv_1_2_BLUE_UP*tmp_moved_constant_41)*(tmp_qloop_22*(tmp_qloop_44 + tmp_qloop_45) + tmp_qloop_23*(tmp_qloop_46 + tmp_qloop_47) + tmp_qloop_24*(tmp_qloop_48 + tmp_qloop_49));
+                const real_t q_tmp_5_5 = tmp_qloop_40*(jac_affine_inv_0_0_BLUE_UP*tmp_moved_constant_39 + jac_affine_inv_0_1_BLUE_UP*tmp_moved_constant_40 + jac_affine_inv_0_2_BLUE_UP*tmp_moved_constant_41)*(tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58));
+                const real_t q_tmp_6_6 = tmp_qloop_40*(jac_affine_inv_0_0_BLUE_UP*tmp_moved_constant_42 + jac_affine_inv_0_1_BLUE_UP*tmp_moved_constant_43 + jac_affine_inv_0_2_BLUE_UP*tmp_moved_constant_44)*(tmp_qloop_22*(tmp_qloop_59 + tmp_qloop_60) + tmp_qloop_23*(tmp_qloop_61 + tmp_qloop_62) + tmp_qloop_24*(tmp_qloop_63 + tmp_qloop_64));
+                const real_t q_tmp_7_7 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_58))*(jac_affine_inv_2_0_BLUE_UP*(-tmp_moved_constant_27 - tmp_moved_constant_39) + jac_affine_inv_2_1_BLUE_UP*(-tmp_moved_constant_32 - tmp_moved_constant_40) + jac_affine_inv_2_2_BLUE_UP*(-tmp_moved_constant_37 - tmp_moved_constant_41) - tmp_moved_constant_45 - tmp_moved_constant_46);
+                const real_t q_tmp_8_8 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_72 - tmp_qloop_44 - tmp_qloop_60) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_72 - tmp_qloop_46 - tmp_qloop_62) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_72 - tmp_qloop_48 - tmp_qloop_64))*(jac_affine_inv_1_0_BLUE_UP*(-tmp_moved_constant_24 - tmp_moved_constant_25 - tmp_moved_constant_42) + jac_affine_inv_1_1_BLUE_UP*(-tmp_moved_constant_29 - tmp_moved_constant_30 - tmp_moved_constant_43) + jac_affine_inv_1_2_BLUE_UP*(-tmp_moved_constant_34 - tmp_moved_constant_35 - tmp_moved_constant_44) - tmp_moved_constant_45 - tmp_moved_constant_47);
+                const real_t q_tmp_9_9 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_74 - tmp_qloop_53 - tmp_qloop_59) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_74 - tmp_qloop_55 - tmp_qloop_61) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_74 - tmp_qloop_57 - tmp_qloop_63))*(jac_affine_inv_0_0_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*-8.0 - tmp_moved_constant_24 - tmp_moved_constant_26) + jac_affine_inv_0_1_BLUE_UP*(jac_affine_inv_0_1_BLUE_UP*-8.0 - tmp_moved_constant_29 - tmp_moved_constant_31) + jac_affine_inv_0_2_BLUE_UP*(jac_affine_inv_0_2_BLUE_UP*-8.0 - tmp_moved_constant_34 - tmp_moved_constant_36) - tmp_moved_constant_46 - tmp_moved_constant_47);
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+             }
+             const real_t elMatDiag_0 = q_acc_0_0;
+             const real_t elMatDiag_1 = q_acc_1_1;
+             const real_t elMatDiag_2 = q_acc_2_2;
+             const real_t elMatDiag_3 = q_acc_3_3;
+             const real_t elMatDiag_4 = q_acc_4_4;
+             const real_t elMatDiag_5 = q_acc_5_5;
+             const real_t elMatDiag_6 = q_acc_6_6;
+             const real_t elMatDiag_7 = q_acc_7_7;
+             const real_t elMatDiag_8 = q_acc_8_8;
+             const real_t elMatDiag_9 = q_acc_9_9;
+             _data_invDiag_Vertex[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] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_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 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN;
+       const real_t tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN);
+       const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN);
+       const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN);
+       const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN);
+       const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN);
+       const real_t tmp_moved_constant_48 = jac_affine_inv_2_0_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_49 = jac_affine_inv_0_0_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_50 = jac_affine_inv_1_0_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_51 = tmp_moved_constant_49 + tmp_moved_constant_50;
+       const real_t tmp_moved_constant_52 = tmp_moved_constant_48 + tmp_moved_constant_51;
+       const real_t tmp_moved_constant_53 = jac_affine_inv_2_1_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_54 = jac_affine_inv_0_1_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_55 = jac_affine_inv_1_1_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_56 = tmp_moved_constant_54 + tmp_moved_constant_55;
+       const real_t tmp_moved_constant_57 = tmp_moved_constant_53 + tmp_moved_constant_56;
+       const real_t tmp_moved_constant_58 = jac_affine_inv_2_2_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_59 = jac_affine_inv_0_2_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_60 = jac_affine_inv_1_2_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_61 = tmp_moved_constant_59 + tmp_moved_constant_60;
+       const real_t tmp_moved_constant_62 = tmp_moved_constant_58 + tmp_moved_constant_61;
+       const real_t tmp_moved_constant_63 = jac_affine_inv_2_0_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_64 = jac_affine_inv_2_1_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_65 = jac_affine_inv_2_2_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_66 = jac_affine_inv_1_0_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_67 = jac_affine_inv_1_1_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_68 = jac_affine_inv_1_2_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_69 = jac_affine_inv_2_0_BLUE_DOWN*tmp_moved_constant_50 + jac_affine_inv_2_1_BLUE_DOWN*tmp_moved_constant_55 + jac_affine_inv_2_2_BLUE_DOWN*tmp_moved_constant_60;
+       const real_t tmp_moved_constant_70 = jac_affine_inv_2_0_BLUE_DOWN*tmp_moved_constant_49 + jac_affine_inv_2_1_BLUE_DOWN*tmp_moved_constant_54 + jac_affine_inv_2_2_BLUE_DOWN*tmp_moved_constant_59;
+       const real_t tmp_moved_constant_71 = jac_affine_inv_1_0_BLUE_DOWN*tmp_moved_constant_49 + jac_affine_inv_1_1_BLUE_DOWN*tmp_moved_constant_54 + jac_affine_inv_1_2_BLUE_DOWN*tmp_moved_constant_59;
+       {
+          /* CellType.BLUE_DOWN */
+          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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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_1_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*wx_dof_1 + tmp_qloop_13*wx_dof_2 + tmp_qloop_16*wx_dof_3 + tmp_qloop_17*wx_dof_7 + tmp_qloop_18*wx_dof_8 + tmp_qloop_20*wx_dof_9 + tmp_qloop_21*wx_dof_0 + tmp_qloop_5*wx_dof_6 + tmp_qloop_6*wx_dof_5 + tmp_qloop_7*wx_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*wy_dof_1 + tmp_qloop_13*wy_dof_2 + tmp_qloop_16*wy_dof_3 + tmp_qloop_17*wy_dof_7 + tmp_qloop_18*wy_dof_8 + tmp_qloop_20*wy_dof_9 + tmp_qloop_21*wy_dof_0 + tmp_qloop_5*wy_dof_6 + tmp_qloop_6*wy_dof_5 + tmp_qloop_7*wy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*wz_dof_1 + tmp_qloop_13*wz_dof_2 + tmp_qloop_16*wz_dof_3 + tmp_qloop_17*wz_dof_7 + tmp_qloop_18*wz_dof_8 + tmp_qloop_20*wz_dof_9 + tmp_qloop_21*wz_dof_0 + tmp_qloop_5*wz_dof_6 + tmp_qloop_6*wz_dof_5 + tmp_qloop_7*wz_dof_4;
+                const real_t tmp_qloop_40 = abs_det_jac_affine_BLUE_DOWN*(diffusivity_times_delta_dof_0*tmp_qloop_21 + diffusivity_times_delta_dof_1*tmp_qloop_10 + diffusivity_times_delta_dof_2*tmp_qloop_13 + diffusivity_times_delta_dof_3*tmp_qloop_16 + diffusivity_times_delta_dof_4*tmp_qloop_7 + diffusivity_times_delta_dof_5*tmp_qloop_6 + diffusivity_times_delta_dof_6*tmp_qloop_5 + diffusivity_times_delta_dof_7*tmp_qloop_17 + diffusivity_times_delta_dof_8*tmp_qloop_18 + diffusivity_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_41 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_42 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_43 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_44 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_45 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_46 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_47 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_48 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_49 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_53 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_54 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_55 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_56 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_57 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_58 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_59 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_60 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_61 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_62 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_63 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_64 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_68 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_71 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_72 = -tmp_qloop_1 - tmp_qloop_71 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_74 = -tmp_qloop_2 - tmp_qloop_71 - 8.0*_data_q_p_0[q];
+                const real_t q_tmp_0_0 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_4))*(jac_affine_inv_0_0_BLUE_DOWN*tmp_moved_constant_52 + jac_affine_inv_0_1_BLUE_DOWN*tmp_moved_constant_57 + jac_affine_inv_0_2_BLUE_DOWN*tmp_moved_constant_62 + jac_affine_inv_1_0_BLUE_DOWN*tmp_moved_constant_52 + jac_affine_inv_1_1_BLUE_DOWN*tmp_moved_constant_57 + jac_affine_inv_1_2_BLUE_DOWN*tmp_moved_constant_62 + jac_affine_inv_2_0_BLUE_DOWN*tmp_moved_constant_52 + jac_affine_inv_2_1_BLUE_DOWN*tmp_moved_constant_57 + jac_affine_inv_2_2_BLUE_DOWN*tmp_moved_constant_62);
+                const real_t q_tmp_1_1 = tmp_qloop_40*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN)*4.0 + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN)*4.0 + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)*4.0)*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_41 + jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_41 + jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_41);
+                const real_t q_tmp_2_2 = tmp_qloop_40*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN)*4.0 + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN)*4.0 + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)*4.0)*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_42 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_42 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_42);
+                const real_t q_tmp_3_3 = tmp_qloop_40*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN)*4.0 + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN)*4.0 + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)*4.0)*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_22*tmp_qloop_43 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_23*tmp_qloop_43 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_24*tmp_qloop_43);
+                const real_t q_tmp_4_4 = tmp_qloop_40*(jac_affine_inv_1_0_BLUE_DOWN*tmp_moved_constant_63 + jac_affine_inv_1_1_BLUE_DOWN*tmp_moved_constant_64 + jac_affine_inv_1_2_BLUE_DOWN*tmp_moved_constant_65)*(tmp_qloop_22*(tmp_qloop_44 + tmp_qloop_45) + tmp_qloop_23*(tmp_qloop_46 + tmp_qloop_47) + tmp_qloop_24*(tmp_qloop_48 + tmp_qloop_49));
+                const real_t q_tmp_5_5 = tmp_qloop_40*(jac_affine_inv_0_0_BLUE_DOWN*tmp_moved_constant_63 + jac_affine_inv_0_1_BLUE_DOWN*tmp_moved_constant_64 + jac_affine_inv_0_2_BLUE_DOWN*tmp_moved_constant_65)*(tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58));
+                const real_t q_tmp_6_6 = tmp_qloop_40*(jac_affine_inv_0_0_BLUE_DOWN*tmp_moved_constant_66 + jac_affine_inv_0_1_BLUE_DOWN*tmp_moved_constant_67 + jac_affine_inv_0_2_BLUE_DOWN*tmp_moved_constant_68)*(tmp_qloop_22*(tmp_qloop_59 + tmp_qloop_60) + tmp_qloop_23*(tmp_qloop_61 + tmp_qloop_62) + tmp_qloop_24*(tmp_qloop_63 + tmp_qloop_64));
+                const real_t q_tmp_7_7 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_58))*(jac_affine_inv_2_0_BLUE_DOWN*(-tmp_moved_constant_51 - tmp_moved_constant_63) + jac_affine_inv_2_1_BLUE_DOWN*(-tmp_moved_constant_56 - tmp_moved_constant_64) + jac_affine_inv_2_2_BLUE_DOWN*(-tmp_moved_constant_61 - tmp_moved_constant_65) - tmp_moved_constant_69 - tmp_moved_constant_70);
+                const real_t q_tmp_8_8 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_72 - tmp_qloop_44 - tmp_qloop_60) + tmp_qloop_23*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_72 - tmp_qloop_46 - tmp_qloop_62) + tmp_qloop_24*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_72 - tmp_qloop_48 - tmp_qloop_64))*(jac_affine_inv_1_0_BLUE_DOWN*(-tmp_moved_constant_48 - tmp_moved_constant_49 - tmp_moved_constant_66) + jac_affine_inv_1_1_BLUE_DOWN*(-tmp_moved_constant_53 - tmp_moved_constant_54 - tmp_moved_constant_67) + jac_affine_inv_1_2_BLUE_DOWN*(-tmp_moved_constant_58 - tmp_moved_constant_59 - tmp_moved_constant_68) - tmp_moved_constant_69 - tmp_moved_constant_71);
+                const real_t q_tmp_9_9 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_74 - tmp_qloop_53 - tmp_qloop_59) + tmp_qloop_23*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_74 - tmp_qloop_55 - tmp_qloop_61) + tmp_qloop_24*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_74 - tmp_qloop_57 - tmp_qloop_63))*(jac_affine_inv_0_0_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*-8.0 - tmp_moved_constant_48 - tmp_moved_constant_50) + jac_affine_inv_0_1_BLUE_DOWN*(jac_affine_inv_0_1_BLUE_DOWN*-8.0 - tmp_moved_constant_53 - tmp_moved_constant_55) + jac_affine_inv_0_2_BLUE_DOWN*(jac_affine_inv_0_2_BLUE_DOWN*-8.0 - tmp_moved_constant_58 - tmp_moved_constant_60) - tmp_moved_constant_70 - tmp_moved_constant_71);
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+             }
+             const real_t elMatDiag_0 = q_acc_0_0;
+             const real_t elMatDiag_1 = q_acc_1_1;
+             const real_t elMatDiag_2 = q_acc_2_2;
+             const real_t elMatDiag_3 = q_acc_3_3;
+             const real_t elMatDiag_4 = q_acc_4_4;
+             const real_t elMatDiag_5 = q_acc_5_5;
+             const real_t elMatDiag_6 = q_acc_6_6;
+             const real_t elMatDiag_7 = q_acc_7_7;
+             const real_t elMatDiag_8 = q_acc_8_8;
+             const real_t elMatDiag_9 = q_acc_9_9;
+             _data_invDiag_Vertex[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))] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_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 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_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 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_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 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP;
+       const real_t tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP);
+       const real_t jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP);
+       const real_t jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP);
+       const real_t jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP);
+       const real_t jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP);
+       const real_t tmp_moved_constant_72 = jac_affine_inv_2_0_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_73 = jac_affine_inv_0_0_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_74 = jac_affine_inv_1_0_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_75 = tmp_moved_constant_73 + tmp_moved_constant_74;
+       const real_t tmp_moved_constant_76 = tmp_moved_constant_72 + tmp_moved_constant_75;
+       const real_t tmp_moved_constant_77 = jac_affine_inv_2_1_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_78 = jac_affine_inv_0_1_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_79 = jac_affine_inv_1_1_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_80 = tmp_moved_constant_78 + tmp_moved_constant_79;
+       const real_t tmp_moved_constant_81 = tmp_moved_constant_77 + tmp_moved_constant_80;
+       const real_t tmp_moved_constant_82 = jac_affine_inv_2_2_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_83 = jac_affine_inv_0_2_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_84 = jac_affine_inv_1_2_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_85 = tmp_moved_constant_83 + tmp_moved_constant_84;
+       const real_t tmp_moved_constant_86 = tmp_moved_constant_82 + tmp_moved_constant_85;
+       const real_t tmp_moved_constant_87 = jac_affine_inv_2_0_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_88 = jac_affine_inv_2_1_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_89 = jac_affine_inv_2_2_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_90 = jac_affine_inv_1_0_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_91 = jac_affine_inv_1_1_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_92 = jac_affine_inv_1_2_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_93 = jac_affine_inv_2_0_GREEN_UP*tmp_moved_constant_74 + jac_affine_inv_2_1_GREEN_UP*tmp_moved_constant_79 + jac_affine_inv_2_2_GREEN_UP*tmp_moved_constant_84;
+       const real_t tmp_moved_constant_94 = jac_affine_inv_2_0_GREEN_UP*tmp_moved_constant_73 + jac_affine_inv_2_1_GREEN_UP*tmp_moved_constant_78 + jac_affine_inv_2_2_GREEN_UP*tmp_moved_constant_83;
+       const real_t tmp_moved_constant_95 = jac_affine_inv_1_0_GREEN_UP*tmp_moved_constant_73 + jac_affine_inv_1_1_GREEN_UP*tmp_moved_constant_78 + jac_affine_inv_1_2_GREEN_UP*tmp_moved_constant_83;
+       {
+          /* CellType.GREEN_UP */
+          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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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_1_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*wx_dof_1 + tmp_qloop_13*wx_dof_2 + tmp_qloop_16*wx_dof_3 + tmp_qloop_17*wx_dof_7 + tmp_qloop_18*wx_dof_8 + tmp_qloop_20*wx_dof_9 + tmp_qloop_21*wx_dof_0 + tmp_qloop_5*wx_dof_6 + tmp_qloop_6*wx_dof_5 + tmp_qloop_7*wx_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*wy_dof_1 + tmp_qloop_13*wy_dof_2 + tmp_qloop_16*wy_dof_3 + tmp_qloop_17*wy_dof_7 + tmp_qloop_18*wy_dof_8 + tmp_qloop_20*wy_dof_9 + tmp_qloop_21*wy_dof_0 + tmp_qloop_5*wy_dof_6 + tmp_qloop_6*wy_dof_5 + tmp_qloop_7*wy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*wz_dof_1 + tmp_qloop_13*wz_dof_2 + tmp_qloop_16*wz_dof_3 + tmp_qloop_17*wz_dof_7 + tmp_qloop_18*wz_dof_8 + tmp_qloop_20*wz_dof_9 + tmp_qloop_21*wz_dof_0 + tmp_qloop_5*wz_dof_6 + tmp_qloop_6*wz_dof_5 + tmp_qloop_7*wz_dof_4;
+                const real_t tmp_qloop_40 = abs_det_jac_affine_GREEN_UP*(diffusivity_times_delta_dof_0*tmp_qloop_21 + diffusivity_times_delta_dof_1*tmp_qloop_10 + diffusivity_times_delta_dof_2*tmp_qloop_13 + diffusivity_times_delta_dof_3*tmp_qloop_16 + diffusivity_times_delta_dof_4*tmp_qloop_7 + diffusivity_times_delta_dof_5*tmp_qloop_6 + diffusivity_times_delta_dof_6*tmp_qloop_5 + diffusivity_times_delta_dof_7*tmp_qloop_17 + diffusivity_times_delta_dof_8*tmp_qloop_18 + diffusivity_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_41 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_42 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_43 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_44 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_45 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_46 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_47 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_48 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_49 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_53 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_54 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_55 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_56 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_57 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_58 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_0;
+                const real_t tmp_qloop_59 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_60 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_61 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_62 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_63 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_1;
+                const real_t tmp_qloop_64 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_2;
+                const real_t tmp_qloop_68 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_71 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_72 = -tmp_qloop_1 - tmp_qloop_71 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_74 = -tmp_qloop_2 - tmp_qloop_71 - 8.0*_data_q_p_0[q];
+                const real_t q_tmp_0_0 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_4))*(jac_affine_inv_0_0_GREEN_UP*tmp_moved_constant_76 + jac_affine_inv_0_1_GREEN_UP*tmp_moved_constant_81 + jac_affine_inv_0_2_GREEN_UP*tmp_moved_constant_86 + jac_affine_inv_1_0_GREEN_UP*tmp_moved_constant_76 + jac_affine_inv_1_1_GREEN_UP*tmp_moved_constant_81 + jac_affine_inv_1_2_GREEN_UP*tmp_moved_constant_86 + jac_affine_inv_2_0_GREEN_UP*tmp_moved_constant_76 + jac_affine_inv_2_1_GREEN_UP*tmp_moved_constant_81 + jac_affine_inv_2_2_GREEN_UP*tmp_moved_constant_86);
+                const real_t q_tmp_1_1 = tmp_qloop_40*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP)*4.0 + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP)*4.0 + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)*4.0)*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_22*tmp_qloop_41 + jac_affine_inv_0_1_GREEN_UP*tmp_qloop_23*tmp_qloop_41 + jac_affine_inv_0_2_GREEN_UP*tmp_qloop_24*tmp_qloop_41);
+                const real_t q_tmp_2_2 = tmp_qloop_40*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP)*4.0 + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP)*4.0 + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)*4.0)*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_22*tmp_qloop_42 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_23*tmp_qloop_42 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_24*tmp_qloop_42);
+                const real_t q_tmp_3_3 = tmp_qloop_40*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP)*4.0 + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP)*4.0 + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)*4.0)*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_22*tmp_qloop_43 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_23*tmp_qloop_43 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_24*tmp_qloop_43);
+                const real_t q_tmp_4_4 = tmp_qloop_40*(jac_affine_inv_1_0_GREEN_UP*tmp_moved_constant_87 + jac_affine_inv_1_1_GREEN_UP*tmp_moved_constant_88 + jac_affine_inv_1_2_GREEN_UP*tmp_moved_constant_89)*(tmp_qloop_22*(tmp_qloop_44 + tmp_qloop_45) + tmp_qloop_23*(tmp_qloop_46 + tmp_qloop_47) + tmp_qloop_24*(tmp_qloop_48 + tmp_qloop_49));
+                const real_t q_tmp_5_5 = tmp_qloop_40*(jac_affine_inv_0_0_GREEN_UP*tmp_moved_constant_87 + jac_affine_inv_0_1_GREEN_UP*tmp_moved_constant_88 + jac_affine_inv_0_2_GREEN_UP*tmp_moved_constant_89)*(tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58));
+                const real_t q_tmp_6_6 = tmp_qloop_40*(jac_affine_inv_0_0_GREEN_UP*tmp_moved_constant_90 + jac_affine_inv_0_1_GREEN_UP*tmp_moved_constant_91 + jac_affine_inv_0_2_GREEN_UP*tmp_moved_constant_92)*(tmp_qloop_22*(tmp_qloop_59 + tmp_qloop_60) + tmp_qloop_23*(tmp_qloop_61 + tmp_qloop_62) + tmp_qloop_24*(tmp_qloop_63 + tmp_qloop_64));
+                const real_t q_tmp_7_7 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_58))*(jac_affine_inv_2_0_GREEN_UP*(-tmp_moved_constant_75 - tmp_moved_constant_87) + jac_affine_inv_2_1_GREEN_UP*(-tmp_moved_constant_80 - tmp_moved_constant_88) + jac_affine_inv_2_2_GREEN_UP*(-tmp_moved_constant_85 - tmp_moved_constant_89) - tmp_moved_constant_93 - tmp_moved_constant_94);
+                const real_t q_tmp_8_8 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_72 - tmp_qloop_44 - tmp_qloop_60) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_72 - tmp_qloop_46 - tmp_qloop_62) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_72 - tmp_qloop_48 - tmp_qloop_64))*(jac_affine_inv_1_0_GREEN_UP*(-tmp_moved_constant_72 - tmp_moved_constant_73 - tmp_moved_constant_90) + jac_affine_inv_1_1_GREEN_UP*(-tmp_moved_constant_77 - tmp_moved_constant_78 - tmp_moved_constant_91) + jac_affine_inv_1_2_GREEN_UP*(-tmp_moved_constant_82 - tmp_moved_constant_83 - tmp_moved_constant_92) - tmp_moved_constant_93 - tmp_moved_constant_95);
+                const real_t q_tmp_9_9 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_74 - tmp_qloop_53 - tmp_qloop_59) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_74 - tmp_qloop_55 - tmp_qloop_61) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_74 - tmp_qloop_57 - tmp_qloop_63))*(jac_affine_inv_0_0_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*-8.0 - tmp_moved_constant_72 - tmp_moved_constant_74) + jac_affine_inv_0_1_GREEN_UP*(jac_affine_inv_0_1_GREEN_UP*-8.0 - tmp_moved_constant_77 - tmp_moved_constant_79) + jac_affine_inv_0_2_GREEN_UP*(jac_affine_inv_0_2_GREEN_UP*-8.0 - tmp_moved_constant_82 - tmp_moved_constant_84) - tmp_moved_constant_94 - tmp_moved_constant_95);
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+             }
+             const real_t elMatDiag_0 = q_acc_0_0;
+             const real_t elMatDiag_1 = q_acc_1_1;
+             const real_t elMatDiag_2 = q_acc_2_2;
+             const real_t elMatDiag_3 = q_acc_3_3;
+             const real_t elMatDiag_4 = q_acc_4_4;
+             const real_t elMatDiag_5 = q_acc_5_5;
+             const real_t elMatDiag_6 = q_acc_6_6;
+             const real_t elMatDiag_7 = q_acc_7_7;
+             const real_t elMatDiag_8 = q_acc_8_8;
+             const real_t elMatDiag_9 = q_acc_9_9;
+             _data_invDiag_Vertex[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] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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 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 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_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 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN;
+       const real_t tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN);
+       const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN);
+       const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN);
+       const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN);
+       const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN);
+       const real_t tmp_moved_constant_96 = jac_affine_inv_2_0_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_97 = jac_affine_inv_0_0_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_98 = jac_affine_inv_1_0_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_99 = tmp_moved_constant_97 + tmp_moved_constant_98;
+       const real_t tmp_moved_constant_100 = tmp_moved_constant_96 + tmp_moved_constant_99;
+       const real_t tmp_moved_constant_101 = jac_affine_inv_2_1_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_102 = jac_affine_inv_0_1_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_103 = jac_affine_inv_1_1_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_104 = tmp_moved_constant_102 + tmp_moved_constant_103;
+       const real_t tmp_moved_constant_105 = tmp_moved_constant_101 + tmp_moved_constant_104;
+       const real_t tmp_moved_constant_106 = jac_affine_inv_2_2_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_107 = jac_affine_inv_0_2_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_108 = jac_affine_inv_1_2_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_109 = tmp_moved_constant_107 + tmp_moved_constant_108;
+       const real_t tmp_moved_constant_110 = tmp_moved_constant_106 + tmp_moved_constant_109;
+       const real_t tmp_moved_constant_111 = jac_affine_inv_2_0_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_112 = jac_affine_inv_2_1_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_113 = jac_affine_inv_2_2_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_114 = jac_affine_inv_1_0_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_115 = jac_affine_inv_1_1_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_116 = jac_affine_inv_1_2_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_117 = jac_affine_inv_2_0_GREEN_DOWN*tmp_moved_constant_98 + jac_affine_inv_2_1_GREEN_DOWN*tmp_moved_constant_103 + jac_affine_inv_2_2_GREEN_DOWN*tmp_moved_constant_108;
+       const real_t tmp_moved_constant_118 = jac_affine_inv_2_0_GREEN_DOWN*tmp_moved_constant_97 + jac_affine_inv_2_1_GREEN_DOWN*tmp_moved_constant_102 + jac_affine_inv_2_2_GREEN_DOWN*tmp_moved_constant_107;
+       const real_t tmp_moved_constant_119 = jac_affine_inv_1_0_GREEN_DOWN*tmp_moved_constant_97 + jac_affine_inv_1_1_GREEN_DOWN*tmp_moved_constant_102 + jac_affine_inv_1_2_GREEN_DOWN*tmp_moved_constant_107;
+       {
+          /* CellType.GREEN_DOWN */
+          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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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_1_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_1 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_2 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0;
+                const real_t tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q];
+                const real_t tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q];
+                const real_t tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q];
+                const real_t tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_9 - _data_q_p_0[q];
+                const real_t tmp_qloop_11 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_12 = tmp_qloop_11*2.0;
+                const real_t tmp_qloop_13 = tmp_qloop_12 - _data_q_p_1[q];
+                const real_t tmp_qloop_14 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_15 = tmp_qloop_14*2.0;
+                const real_t tmp_qloop_16 = tmp_qloop_15 - _data_q_p_2[q];
+                const real_t tmp_qloop_17 = tmp_qloop_0 + tmp_qloop_14*-4.0 - tmp_qloop_6 - tmp_qloop_7;
+                const real_t tmp_qloop_18 = tmp_qloop_11*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7;
+                const real_t tmp_qloop_19 = tmp_qloop_5 + tmp_qloop_6;
+                const real_t tmp_qloop_20 = tmp_qloop_1 - tmp_qloop_19 + tmp_qloop_8*-4.0;
+                const real_t tmp_qloop_21 = tmp_qloop_12 + tmp_qloop_15 + tmp_qloop_19 + 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;
+                const real_t tmp_qloop_22 = tmp_qloop_10*wx_dof_1 + tmp_qloop_13*wx_dof_2 + tmp_qloop_16*wx_dof_3 + tmp_qloop_17*wx_dof_7 + tmp_qloop_18*wx_dof_8 + tmp_qloop_20*wx_dof_9 + tmp_qloop_21*wx_dof_0 + tmp_qloop_5*wx_dof_6 + tmp_qloop_6*wx_dof_5 + tmp_qloop_7*wx_dof_4;
+                const real_t tmp_qloop_23 = tmp_qloop_10*wy_dof_1 + tmp_qloop_13*wy_dof_2 + tmp_qloop_16*wy_dof_3 + tmp_qloop_17*wy_dof_7 + tmp_qloop_18*wy_dof_8 + tmp_qloop_20*wy_dof_9 + tmp_qloop_21*wy_dof_0 + tmp_qloop_5*wy_dof_6 + tmp_qloop_6*wy_dof_5 + tmp_qloop_7*wy_dof_4;
+                const real_t tmp_qloop_24 = tmp_qloop_10*wz_dof_1 + tmp_qloop_13*wz_dof_2 + tmp_qloop_16*wz_dof_3 + tmp_qloop_17*wz_dof_7 + tmp_qloop_18*wz_dof_8 + tmp_qloop_20*wz_dof_9 + tmp_qloop_21*wz_dof_0 + tmp_qloop_5*wz_dof_6 + tmp_qloop_6*wz_dof_5 + tmp_qloop_7*wz_dof_4;
+                const real_t tmp_qloop_40 = abs_det_jac_affine_GREEN_DOWN*(diffusivity_times_delta_dof_0*tmp_qloop_21 + diffusivity_times_delta_dof_1*tmp_qloop_10 + diffusivity_times_delta_dof_2*tmp_qloop_13 + diffusivity_times_delta_dof_3*tmp_qloop_16 + diffusivity_times_delta_dof_4*tmp_qloop_7 + diffusivity_times_delta_dof_5*tmp_qloop_6 + diffusivity_times_delta_dof_6*tmp_qloop_5 + diffusivity_times_delta_dof_7*tmp_qloop_17 + diffusivity_times_delta_dof_8*tmp_qloop_18 + diffusivity_times_delta_dof_9*tmp_qloop_20)*_data_q_w[q];
+                const real_t tmp_qloop_41 = tmp_qloop_1 - 1.0;
+                const real_t tmp_qloop_42 = tmp_qloop_2 - 1.0;
+                const real_t tmp_qloop_43 = tmp_qloop_0 - 1.0;
+                const real_t tmp_qloop_44 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_45 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_46 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_47 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_48 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_49 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_53 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_54 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_55 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_56 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_57 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_58 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_0;
+                const real_t tmp_qloop_59 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_60 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_61 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_62 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_63 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_1;
+                const real_t tmp_qloop_64 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_2;
+                const real_t tmp_qloop_68 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_71 = tmp_qloop_0 - 4.0;
+                const real_t tmp_qloop_72 = -tmp_qloop_1 - tmp_qloop_71 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_74 = -tmp_qloop_2 - tmp_qloop_71 - 8.0*_data_q_p_0[q];
+                const real_t q_tmp_0_0 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_4) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_4))*(jac_affine_inv_0_0_GREEN_DOWN*tmp_moved_constant_100 + jac_affine_inv_0_1_GREEN_DOWN*tmp_moved_constant_105 + jac_affine_inv_0_2_GREEN_DOWN*tmp_moved_constant_110 + jac_affine_inv_1_0_GREEN_DOWN*tmp_moved_constant_100 + jac_affine_inv_1_1_GREEN_DOWN*tmp_moved_constant_105 + jac_affine_inv_1_2_GREEN_DOWN*tmp_moved_constant_110 + jac_affine_inv_2_0_GREEN_DOWN*tmp_moved_constant_100 + jac_affine_inv_2_1_GREEN_DOWN*tmp_moved_constant_105 + jac_affine_inv_2_2_GREEN_DOWN*tmp_moved_constant_110);
+                const real_t q_tmp_1_1 = tmp_qloop_40*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN)*4.0 + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN)*4.0 + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)*4.0)*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_41 + jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_41 + jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_41);
+                const real_t q_tmp_2_2 = tmp_qloop_40*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN)*4.0 + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN)*4.0 + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)*4.0)*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_42 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_42 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_42);
+                const real_t q_tmp_3_3 = tmp_qloop_40*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN)*4.0 + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN)*4.0 + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)*4.0)*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_22*tmp_qloop_43 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_23*tmp_qloop_43 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_24*tmp_qloop_43);
+                const real_t q_tmp_4_4 = tmp_qloop_40*(jac_affine_inv_1_0_GREEN_DOWN*tmp_moved_constant_111 + jac_affine_inv_1_1_GREEN_DOWN*tmp_moved_constant_112 + jac_affine_inv_1_2_GREEN_DOWN*tmp_moved_constant_113)*(tmp_qloop_22*(tmp_qloop_44 + tmp_qloop_45) + tmp_qloop_23*(tmp_qloop_46 + tmp_qloop_47) + tmp_qloop_24*(tmp_qloop_48 + tmp_qloop_49));
+                const real_t q_tmp_5_5 = tmp_qloop_40*(jac_affine_inv_0_0_GREEN_DOWN*tmp_moved_constant_111 + jac_affine_inv_0_1_GREEN_DOWN*tmp_moved_constant_112 + jac_affine_inv_0_2_GREEN_DOWN*tmp_moved_constant_113)*(tmp_qloop_22*(tmp_qloop_53 + tmp_qloop_54) + tmp_qloop_23*(tmp_qloop_55 + tmp_qloop_56) + tmp_qloop_24*(tmp_qloop_57 + tmp_qloop_58));
+                const real_t q_tmp_6_6 = tmp_qloop_40*(jac_affine_inv_0_0_GREEN_DOWN*tmp_moved_constant_114 + jac_affine_inv_0_1_GREEN_DOWN*tmp_moved_constant_115 + jac_affine_inv_0_2_GREEN_DOWN*tmp_moved_constant_116)*(tmp_qloop_22*(tmp_qloop_59 + tmp_qloop_60) + tmp_qloop_23*(tmp_qloop_61 + tmp_qloop_62) + tmp_qloop_24*(tmp_qloop_63 + tmp_qloop_64));
+                const real_t q_tmp_7_7 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_68 - tmp_qloop_45 - tmp_qloop_54) + tmp_qloop_23*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_68 - tmp_qloop_47 - tmp_qloop_56) + tmp_qloop_24*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_68 - tmp_qloop_49 - tmp_qloop_58))*(jac_affine_inv_2_0_GREEN_DOWN*(-tmp_moved_constant_111 - tmp_moved_constant_99) + jac_affine_inv_2_1_GREEN_DOWN*(-tmp_moved_constant_104 - tmp_moved_constant_112) + jac_affine_inv_2_2_GREEN_DOWN*(-tmp_moved_constant_109 - tmp_moved_constant_113) - tmp_moved_constant_117 - tmp_moved_constant_118);
+                const real_t q_tmp_8_8 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_72 - tmp_qloop_44 - tmp_qloop_60) + tmp_qloop_23*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_72 - tmp_qloop_46 - tmp_qloop_62) + tmp_qloop_24*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_72 - tmp_qloop_48 - tmp_qloop_64))*(jac_affine_inv_1_0_GREEN_DOWN*(-tmp_moved_constant_114 - tmp_moved_constant_96 - tmp_moved_constant_97) + jac_affine_inv_1_1_GREEN_DOWN*(-tmp_moved_constant_101 - tmp_moved_constant_102 - tmp_moved_constant_115) + jac_affine_inv_1_2_GREEN_DOWN*(-tmp_moved_constant_106 - tmp_moved_constant_107 - tmp_moved_constant_116) - tmp_moved_constant_117 - tmp_moved_constant_119);
+                const real_t q_tmp_9_9 = tmp_qloop_40*(tmp_qloop_22*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_74 - tmp_qloop_53 - tmp_qloop_59) + tmp_qloop_23*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_74 - tmp_qloop_55 - tmp_qloop_61) + tmp_qloop_24*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_74 - tmp_qloop_57 - tmp_qloop_63))*(jac_affine_inv_0_0_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*-8.0 - tmp_moved_constant_96 - tmp_moved_constant_98) + jac_affine_inv_0_1_GREEN_DOWN*(jac_affine_inv_0_1_GREEN_DOWN*-8.0 - tmp_moved_constant_101 - tmp_moved_constant_103) + jac_affine_inv_0_2_GREEN_DOWN*(jac_affine_inv_0_2_GREEN_DOWN*-8.0 - tmp_moved_constant_106 - tmp_moved_constant_108) - tmp_moved_constant_118 - tmp_moved_constant_119);
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_9;
+             }
+             const real_t elMatDiag_0 = q_acc_0_0;
+             const real_t elMatDiag_1 = q_acc_1_1;
+             const real_t elMatDiag_2 = q_acc_2_2;
+             const real_t elMatDiag_3 = q_acc_3_3;
+             const real_t elMatDiag_4 = q_acc_4_4;
+             const real_t elMatDiag_5 = q_acc_5_5;
+             const real_t elMatDiag_6 = q_acc_6_6;
+             const real_t elMatDiag_7 = q_acc_7_7;
+             const real_t elMatDiag_8 = q_acc_8_8;
+             const real_t elMatDiag_9 = q_acc_9_9;
+             _data_invDiag_Vertex[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))] = elMatDiag_0 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_1 + _data_invDiag_Vertex[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_invDiag_Vertex[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] = elMatDiag_2 + _data_invDiag_Vertex[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_invDiag_Vertex[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))] = elMatDiag_3 + _data_invDiag_Vertex[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_invDiag_Edge[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))] = elMatDiag_4 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_5 + _data_invDiag_Edge[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_invDiag_Edge[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] = elMatDiag_6 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_7 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_8 + _data_invDiag_Edge[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_invDiag_Edge[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))] = elMatDiag_9 + _data_invDiag_Edge[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))];
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/supg_diffusion/noarch/P2ElementwiseSupgDiffusion_toMatrix_P2ElementwiseSupgDiffusion_macro_3D.cpp b/operators/supg_diffusion/noarch/P2ElementwiseSupgDiffusion_toMatrix_P2ElementwiseSupgDiffusion_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..f90f4b307c3c23681bbe99e15860edd54d6ca8ae
--- /dev/null
+++ b/operators/supg_diffusion/noarch/P2ElementwiseSupgDiffusion_toMatrix_P2ElementwiseSupgDiffusion_macro_3D.cpp
@@ -0,0 +1,4608 @@
+/*
+* 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 Operator Generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ElementwiseSupgDiffusion.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ElementwiseSupgDiffusion::toMatrix_P2ElementwiseSupgDiffusion_macro_3D( real_t * RESTRICT  _data_diffusivity_times_deltaEdge, real_t * RESTRICT  _data_diffusivity_times_deltaVertex, idx_t * RESTRICT  _data_dstEdge, idx_t * RESTRICT  _data_dstVertex, idx_t * RESTRICT  _data_srcEdge, idx_t * RESTRICT  _data_srcVertex, real_t * RESTRICT  _data_wxEdge, real_t * RESTRICT  _data_wxVertex, real_t * RESTRICT  _data_wyEdge, real_t * RESTRICT  _data_wyVertex, real_t * RESTRICT  _data_wzEdge, real_t * RESTRICT  _data_wzVertex, 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 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_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 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_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 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_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 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP;
+       const real_t tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP;
+       const real_t tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP);
+       const real_t jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP);
+       const real_t jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP);
+       const real_t jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP);
+       const real_t jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP);
+       const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP);
+       const real_t tmp_qloop_0 = jac_affine_inv_2_0_WHITE_UP*4.0;
+       const real_t tmp_qloop_1 = jac_affine_inv_0_0_WHITE_UP*4.0;
+       const real_t tmp_qloop_2 = jac_affine_inv_1_0_WHITE_UP*4.0;
+       const real_t tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2;
+       const real_t tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3;
+       const real_t tmp_qloop_5 = jac_affine_inv_2_1_WHITE_UP*4.0;
+       const real_t tmp_qloop_6 = jac_affine_inv_0_1_WHITE_UP*4.0;
+       const real_t tmp_qloop_7 = jac_affine_inv_1_1_WHITE_UP*4.0;
+       const real_t tmp_qloop_8 = tmp_qloop_6 + tmp_qloop_7;
+       const real_t tmp_qloop_9 = tmp_qloop_5 + tmp_qloop_8;
+       const real_t tmp_qloop_10 = jac_affine_inv_2_2_WHITE_UP*4.0;
+       const real_t tmp_qloop_11 = jac_affine_inv_0_2_WHITE_UP*4.0;
+       const real_t tmp_qloop_12 = jac_affine_inv_1_2_WHITE_UP*4.0;
+       const real_t tmp_qloop_13 = tmp_qloop_11 + tmp_qloop_12;
+       const real_t tmp_qloop_14 = tmp_qloop_10 + tmp_qloop_13;
+       const real_t tmp_qloop_15 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_9 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_14 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_9 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_14 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_9 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_14;
+       const real_t tmp_qloop_43 = (jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP)*4.0 + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP)*4.0 + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)*4.0;
+       const real_t tmp_qloop_44 = (jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP)*4.0 + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP)*4.0 + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)*4.0;
+       const real_t tmp_qloop_45 = (jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP)*4.0 + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP)*4.0 + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)*4.0;
+       const real_t tmp_qloop_46 = jac_affine_inv_2_0_WHITE_UP*8.0;
+       const real_t tmp_qloop_47 = jac_affine_inv_2_1_WHITE_UP*8.0;
+       const real_t tmp_qloop_48 = jac_affine_inv_2_2_WHITE_UP*8.0;
+       const real_t tmp_qloop_49 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_46 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_47 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_48;
+       const real_t tmp_qloop_50 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_46 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_47 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_48;
+       const real_t tmp_qloop_51 = jac_affine_inv_1_0_WHITE_UP*8.0;
+       const real_t tmp_qloop_52 = jac_affine_inv_1_1_WHITE_UP*8.0;
+       const real_t tmp_qloop_53 = jac_affine_inv_1_2_WHITE_UP*8.0;
+       const real_t tmp_qloop_54 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_51 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_52 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_53;
+       const real_t tmp_qloop_55 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_2 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_7 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_12;
+       const real_t tmp_qloop_56 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_1 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_6 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_11;
+       const real_t tmp_qloop_57 = jac_affine_inv_2_0_WHITE_UP*(-tmp_qloop_3 - tmp_qloop_46) + jac_affine_inv_2_1_WHITE_UP*(-tmp_qloop_47 - tmp_qloop_8) + jac_affine_inv_2_2_WHITE_UP*(-tmp_qloop_13 - tmp_qloop_48) - tmp_qloop_55 - tmp_qloop_56;
+       const real_t tmp_qloop_58 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_1 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_6 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_11;
+       const real_t tmp_qloop_59 = jac_affine_inv_1_0_WHITE_UP*(-tmp_qloop_0 - tmp_qloop_1 - tmp_qloop_51) + jac_affine_inv_1_1_WHITE_UP*(-tmp_qloop_5 - tmp_qloop_52 - tmp_qloop_6) + jac_affine_inv_1_2_WHITE_UP*(-tmp_qloop_10 - tmp_qloop_11 - tmp_qloop_53) - tmp_qloop_55 - tmp_qloop_58;
+       const real_t tmp_qloop_60 = jac_affine_inv_0_0_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*-8.0 - tmp_qloop_0 - tmp_qloop_2) + jac_affine_inv_0_1_WHITE_UP*(jac_affine_inv_0_1_WHITE_UP*-8.0 - tmp_qloop_5 - tmp_qloop_7) + jac_affine_inv_0_2_WHITE_UP*(jac_affine_inv_0_2_WHITE_UP*-8.0 - tmp_qloop_10 - tmp_qloop_12) - tmp_qloop_56 - tmp_qloop_58;
+       {
+          /* CellType.WHITE_UP */
+          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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_16 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_17 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_18 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18;
+                const real_t tmp_qloop_20 = tmp_qloop_16 + tmp_qloop_19 - 3.0;
+                const real_t tmp_qloop_21 = tmp_qloop_17*_data_q_p_1[q];
+                const real_t tmp_qloop_22 = tmp_qloop_17*_data_q_p_2[q];
+                const real_t tmp_qloop_23 = tmp_qloop_18*_data_q_p_2[q];
+                const real_t tmp_qloop_24 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_25 = tmp_qloop_24*2.0;
+                const real_t tmp_qloop_26 = tmp_qloop_25 - _data_q_p_0[q];
+                const real_t tmp_qloop_27 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_28 = tmp_qloop_27*2.0;
+                const real_t tmp_qloop_29 = tmp_qloop_28 - _data_q_p_1[q];
+                const real_t tmp_qloop_30 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_31 = tmp_qloop_30*2.0;
+                const real_t tmp_qloop_32 = tmp_qloop_31 - _data_q_p_2[q];
+                const real_t tmp_qloop_33 = tmp_qloop_16 - tmp_qloop_22 - tmp_qloop_23 + tmp_qloop_30*-4.0;
+                const real_t tmp_qloop_34 = tmp_qloop_18 - tmp_qloop_21 - tmp_qloop_23 + tmp_qloop_27*-4.0;
+                const real_t tmp_qloop_35 = tmp_qloop_21 + tmp_qloop_22;
+                const real_t tmp_qloop_36 = tmp_qloop_17 + tmp_qloop_24*-4.0 - tmp_qloop_35;
+                const real_t tmp_qloop_37 = tmp_qloop_23 + tmp_qloop_25 + tmp_qloop_28 + tmp_qloop_31 + tmp_qloop_35 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                const real_t tmp_qloop_38 = tmp_qloop_21*wx_dof_6 + tmp_qloop_22*wx_dof_5 + tmp_qloop_23*wx_dof_4 + tmp_qloop_26*wx_dof_1 + tmp_qloop_29*wx_dof_2 + tmp_qloop_32*wx_dof_3 + tmp_qloop_33*wx_dof_7 + tmp_qloop_34*wx_dof_8 + tmp_qloop_36*wx_dof_9 + tmp_qloop_37*wx_dof_0;
+                const real_t tmp_qloop_39 = tmp_qloop_21*wy_dof_6 + tmp_qloop_22*wy_dof_5 + tmp_qloop_23*wy_dof_4 + tmp_qloop_26*wy_dof_1 + tmp_qloop_29*wy_dof_2 + tmp_qloop_32*wy_dof_3 + tmp_qloop_33*wy_dof_7 + tmp_qloop_34*wy_dof_8 + tmp_qloop_36*wy_dof_9 + tmp_qloop_37*wy_dof_0;
+                const real_t tmp_qloop_40 = tmp_qloop_21*wz_dof_6 + tmp_qloop_22*wz_dof_5 + tmp_qloop_23*wz_dof_4 + tmp_qloop_26*wz_dof_1 + tmp_qloop_29*wz_dof_2 + tmp_qloop_32*wz_dof_3 + tmp_qloop_33*wz_dof_7 + tmp_qloop_34*wz_dof_8 + tmp_qloop_36*wz_dof_9 + tmp_qloop_37*wz_dof_0;
+                const real_t tmp_qloop_41 = abs_det_jac_affine_WHITE_UP*(diffusivity_times_delta_dof_0*tmp_qloop_37 + diffusivity_times_delta_dof_1*tmp_qloop_26 + diffusivity_times_delta_dof_2*tmp_qloop_29 + diffusivity_times_delta_dof_3*tmp_qloop_32 + diffusivity_times_delta_dof_4*tmp_qloop_23 + diffusivity_times_delta_dof_5*tmp_qloop_22 + diffusivity_times_delta_dof_6*tmp_qloop_21 + diffusivity_times_delta_dof_7*tmp_qloop_33 + diffusivity_times_delta_dof_8*tmp_qloop_34 + diffusivity_times_delta_dof_9*tmp_qloop_36)*_data_q_w[q];
+                const real_t tmp_qloop_42 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_20 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_20 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_20) + tmp_qloop_39*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_20 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_20 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_20) + tmp_qloop_40*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_20 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_20 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_20));
+                const real_t tmp_qloop_61 = tmp_qloop_17 - 1.0;
+                const real_t tmp_qloop_62 = tmp_qloop_41*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_38*tmp_qloop_61 + jac_affine_inv_0_1_WHITE_UP*tmp_qloop_39*tmp_qloop_61 + jac_affine_inv_0_2_WHITE_UP*tmp_qloop_40*tmp_qloop_61);
+                const real_t tmp_qloop_63 = tmp_qloop_18 - 1.0;
+                const real_t tmp_qloop_64 = tmp_qloop_41*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_38*tmp_qloop_63 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_39*tmp_qloop_63 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_40*tmp_qloop_63);
+                const real_t tmp_qloop_65 = tmp_qloop_16 - 1.0;
+                const real_t tmp_qloop_66 = tmp_qloop_41*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_38*tmp_qloop_65 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_39*tmp_qloop_65 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_40*tmp_qloop_65);
+                const real_t tmp_qloop_67 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_68 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_69 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_70 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_71 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_72 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_73 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_67 + tmp_qloop_68) + tmp_qloop_39*(tmp_qloop_69 + tmp_qloop_70) + tmp_qloop_40*(tmp_qloop_71 + tmp_qloop_72));
+                const real_t tmp_qloop_74 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_75 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_76 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_77 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_78 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_79 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_80 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_74 + tmp_qloop_75) + tmp_qloop_39*(tmp_qloop_76 + tmp_qloop_77) + tmp_qloop_40*(tmp_qloop_78 + tmp_qloop_79));
+                const real_t tmp_qloop_81 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_82 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_83 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_84 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_85 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_86 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_87 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_81 + tmp_qloop_82) + tmp_qloop_39*(tmp_qloop_83 + tmp_qloop_84) + tmp_qloop_40*(tmp_qloop_85 + tmp_qloop_86));
+                const real_t tmp_qloop_88 = -tmp_qloop_19 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_89 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_88 - tmp_qloop_68 - tmp_qloop_75) + tmp_qloop_39*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_88 - tmp_qloop_70 - tmp_qloop_77) + tmp_qloop_40*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_88 - tmp_qloop_72 - tmp_qloop_79));
+                const real_t tmp_qloop_90 = tmp_qloop_16 - 4.0;
+                const real_t tmp_qloop_91 = -tmp_qloop_17 - tmp_qloop_90 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_92 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_91 - tmp_qloop_67 - tmp_qloop_82) + tmp_qloop_39*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_91 - tmp_qloop_69 - tmp_qloop_84) + tmp_qloop_40*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_91 - tmp_qloop_71 - tmp_qloop_86));
+                const real_t tmp_qloop_93 = -tmp_qloop_18 - tmp_qloop_90 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_94 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_93 - tmp_qloop_74 - tmp_qloop_81) + tmp_qloop_39*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_93 - tmp_qloop_76 - tmp_qloop_83) + tmp_qloop_40*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_93 - tmp_qloop_78 - tmp_qloop_85));
+                const real_t q_tmp_0_0 = tmp_qloop_15*tmp_qloop_42;
+                const real_t q_tmp_0_1 = tmp_qloop_42*tmp_qloop_43;
+                const real_t q_tmp_0_2 = tmp_qloop_42*tmp_qloop_44;
+                const real_t q_tmp_0_3 = tmp_qloop_42*tmp_qloop_45;
+                const real_t q_tmp_0_4 = tmp_qloop_42*tmp_qloop_49;
+                const real_t q_tmp_0_5 = tmp_qloop_42*tmp_qloop_50;
+                const real_t q_tmp_0_6 = tmp_qloop_42*tmp_qloop_54;
+                const real_t q_tmp_0_7 = tmp_qloop_42*tmp_qloop_57;
+                const real_t q_tmp_0_8 = tmp_qloop_42*tmp_qloop_59;
+                const real_t q_tmp_0_9 = tmp_qloop_42*tmp_qloop_60;
+                const real_t q_tmp_1_0 = tmp_qloop_15*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_qloop_43*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_qloop_44*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_qloop_45*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_qloop_49*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_qloop_50*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_qloop_54*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_qloop_57*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_qloop_59*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_qloop_60*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_qloop_15*tmp_qloop_64;
+                const real_t q_tmp_2_1 = tmp_qloop_43*tmp_qloop_64;
+                const real_t q_tmp_2_2 = tmp_qloop_44*tmp_qloop_64;
+                const real_t q_tmp_2_3 = tmp_qloop_45*tmp_qloop_64;
+                const real_t q_tmp_2_4 = tmp_qloop_49*tmp_qloop_64;
+                const real_t q_tmp_2_5 = tmp_qloop_50*tmp_qloop_64;
+                const real_t q_tmp_2_6 = tmp_qloop_54*tmp_qloop_64;
+                const real_t q_tmp_2_7 = tmp_qloop_57*tmp_qloop_64;
+                const real_t q_tmp_2_8 = tmp_qloop_59*tmp_qloop_64;
+                const real_t q_tmp_2_9 = tmp_qloop_60*tmp_qloop_64;
+                const real_t q_tmp_3_0 = tmp_qloop_15*tmp_qloop_66;
+                const real_t q_tmp_3_1 = tmp_qloop_43*tmp_qloop_66;
+                const real_t q_tmp_3_2 = tmp_qloop_44*tmp_qloop_66;
+                const real_t q_tmp_3_3 = tmp_qloop_45*tmp_qloop_66;
+                const real_t q_tmp_3_4 = tmp_qloop_49*tmp_qloop_66;
+                const real_t q_tmp_3_5 = tmp_qloop_50*tmp_qloop_66;
+                const real_t q_tmp_3_6 = tmp_qloop_54*tmp_qloop_66;
+                const real_t q_tmp_3_7 = tmp_qloop_57*tmp_qloop_66;
+                const real_t q_tmp_3_8 = tmp_qloop_59*tmp_qloop_66;
+                const real_t q_tmp_3_9 = tmp_qloop_60*tmp_qloop_66;
+                const real_t q_tmp_4_0 = tmp_qloop_15*tmp_qloop_73;
+                const real_t q_tmp_4_1 = tmp_qloop_43*tmp_qloop_73;
+                const real_t q_tmp_4_2 = tmp_qloop_44*tmp_qloop_73;
+                const real_t q_tmp_4_3 = tmp_qloop_45*tmp_qloop_73;
+                const real_t q_tmp_4_4 = tmp_qloop_49*tmp_qloop_73;
+                const real_t q_tmp_4_5 = tmp_qloop_50*tmp_qloop_73;
+                const real_t q_tmp_4_6 = tmp_qloop_54*tmp_qloop_73;
+                const real_t q_tmp_4_7 = tmp_qloop_57*tmp_qloop_73;
+                const real_t q_tmp_4_8 = tmp_qloop_59*tmp_qloop_73;
+                const real_t q_tmp_4_9 = tmp_qloop_60*tmp_qloop_73;
+                const real_t q_tmp_5_0 = tmp_qloop_15*tmp_qloop_80;
+                const real_t q_tmp_5_1 = tmp_qloop_43*tmp_qloop_80;
+                const real_t q_tmp_5_2 = tmp_qloop_44*tmp_qloop_80;
+                const real_t q_tmp_5_3 = tmp_qloop_45*tmp_qloop_80;
+                const real_t q_tmp_5_4 = tmp_qloop_49*tmp_qloop_80;
+                const real_t q_tmp_5_5 = tmp_qloop_50*tmp_qloop_80;
+                const real_t q_tmp_5_6 = tmp_qloop_54*tmp_qloop_80;
+                const real_t q_tmp_5_7 = tmp_qloop_57*tmp_qloop_80;
+                const real_t q_tmp_5_8 = tmp_qloop_59*tmp_qloop_80;
+                const real_t q_tmp_5_9 = tmp_qloop_60*tmp_qloop_80;
+                const real_t q_tmp_6_0 = tmp_qloop_15*tmp_qloop_87;
+                const real_t q_tmp_6_1 = tmp_qloop_43*tmp_qloop_87;
+                const real_t q_tmp_6_2 = tmp_qloop_44*tmp_qloop_87;
+                const real_t q_tmp_6_3 = tmp_qloop_45*tmp_qloop_87;
+                const real_t q_tmp_6_4 = tmp_qloop_49*tmp_qloop_87;
+                const real_t q_tmp_6_5 = tmp_qloop_50*tmp_qloop_87;
+                const real_t q_tmp_6_6 = tmp_qloop_54*tmp_qloop_87;
+                const real_t q_tmp_6_7 = tmp_qloop_57*tmp_qloop_87;
+                const real_t q_tmp_6_8 = tmp_qloop_59*tmp_qloop_87;
+                const real_t q_tmp_6_9 = tmp_qloop_60*tmp_qloop_87;
+                const real_t q_tmp_7_0 = tmp_qloop_15*tmp_qloop_89;
+                const real_t q_tmp_7_1 = tmp_qloop_43*tmp_qloop_89;
+                const real_t q_tmp_7_2 = tmp_qloop_44*tmp_qloop_89;
+                const real_t q_tmp_7_3 = tmp_qloop_45*tmp_qloop_89;
+                const real_t q_tmp_7_4 = tmp_qloop_49*tmp_qloop_89;
+                const real_t q_tmp_7_5 = tmp_qloop_50*tmp_qloop_89;
+                const real_t q_tmp_7_6 = tmp_qloop_54*tmp_qloop_89;
+                const real_t q_tmp_7_7 = tmp_qloop_57*tmp_qloop_89;
+                const real_t q_tmp_7_8 = tmp_qloop_59*tmp_qloop_89;
+                const real_t q_tmp_7_9 = tmp_qloop_60*tmp_qloop_89;
+                const real_t q_tmp_8_0 = tmp_qloop_15*tmp_qloop_92;
+                const real_t q_tmp_8_1 = tmp_qloop_43*tmp_qloop_92;
+                const real_t q_tmp_8_2 = tmp_qloop_44*tmp_qloop_92;
+                const real_t q_tmp_8_3 = tmp_qloop_45*tmp_qloop_92;
+                const real_t q_tmp_8_4 = tmp_qloop_49*tmp_qloop_92;
+                const real_t q_tmp_8_5 = tmp_qloop_50*tmp_qloop_92;
+                const real_t q_tmp_8_6 = tmp_qloop_54*tmp_qloop_92;
+                const real_t q_tmp_8_7 = tmp_qloop_57*tmp_qloop_92;
+                const real_t q_tmp_8_8 = tmp_qloop_59*tmp_qloop_92;
+                const real_t q_tmp_8_9 = tmp_qloop_60*tmp_qloop_92;
+                const real_t q_tmp_9_0 = tmp_qloop_15*tmp_qloop_94;
+                const real_t q_tmp_9_1 = tmp_qloop_43*tmp_qloop_94;
+                const real_t q_tmp_9_2 = tmp_qloop_44*tmp_qloop_94;
+                const real_t q_tmp_9_3 = tmp_qloop_45*tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_qloop_49*tmp_qloop_94;
+                const real_t q_tmp_9_5 = tmp_qloop_50*tmp_qloop_94;
+                const real_t q_tmp_9_6 = tmp_qloop_54*tmp_qloop_94;
+                const real_t q_tmp_9_7 = tmp_qloop_57*tmp_qloop_94;
+                const real_t q_tmp_9_8 = tmp_qloop_59*tmp_qloop_94;
+                const real_t q_tmp_9_9 = tmp_qloop_60*tmp_qloop_94;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMat_4_0 = q_acc_4_0;
+             const real_t elMat_4_1 = q_acc_4_1;
+             const real_t elMat_4_2 = q_acc_4_2;
+             const real_t elMat_4_3 = q_acc_4_3;
+             const real_t elMat_4_4 = q_acc_4_4;
+             const real_t elMat_4_5 = q_acc_4_5;
+             const real_t elMat_4_6 = q_acc_4_6;
+             const real_t elMat_4_7 = q_acc_4_7;
+             const real_t elMat_4_8 = q_acc_4_8;
+             const real_t elMat_4_9 = q_acc_4_9;
+             const real_t elMat_5_0 = q_acc_5_0;
+             const real_t elMat_5_1 = q_acc_5_1;
+             const real_t elMat_5_2 = q_acc_5_2;
+             const real_t elMat_5_3 = q_acc_5_3;
+             const real_t elMat_5_4 = q_acc_5_4;
+             const real_t elMat_5_5 = q_acc_5_5;
+             const real_t elMat_5_6 = q_acc_5_6;
+             const real_t elMat_5_7 = q_acc_5_7;
+             const real_t elMat_5_8 = q_acc_5_8;
+             const real_t elMat_5_9 = q_acc_5_9;
+             const real_t elMat_6_0 = q_acc_6_0;
+             const real_t elMat_6_1 = q_acc_6_1;
+             const real_t elMat_6_2 = q_acc_6_2;
+             const real_t elMat_6_3 = q_acc_6_3;
+             const real_t elMat_6_4 = q_acc_6_4;
+             const real_t elMat_6_5 = q_acc_6_5;
+             const real_t elMat_6_6 = q_acc_6_6;
+             const real_t elMat_6_7 = q_acc_6_7;
+             const real_t elMat_6_8 = q_acc_6_8;
+             const real_t elMat_6_9 = q_acc_6_9;
+             const real_t elMat_7_0 = q_acc_7_0;
+             const real_t elMat_7_1 = q_acc_7_1;
+             const real_t elMat_7_2 = q_acc_7_2;
+             const real_t elMat_7_3 = q_acc_7_3;
+             const real_t elMat_7_4 = q_acc_7_4;
+             const real_t elMat_7_5 = q_acc_7_5;
+             const real_t elMat_7_6 = q_acc_7_6;
+             const real_t elMat_7_7 = q_acc_7_7;
+             const real_t elMat_7_8 = q_acc_7_8;
+             const real_t elMat_7_9 = q_acc_7_9;
+             const real_t elMat_8_0 = q_acc_8_0;
+             const real_t elMat_8_1 = q_acc_8_1;
+             const real_t elMat_8_2 = q_acc_8_2;
+             const real_t elMat_8_3 = q_acc_8_3;
+             const real_t elMat_8_4 = q_acc_8_4;
+             const real_t elMat_8_5 = q_acc_8_5;
+             const real_t elMat_8_6 = q_acc_8_6;
+             const real_t elMat_8_7 = q_acc_8_7;
+             const real_t elMat_8_8 = q_acc_8_8;
+             const real_t elMat_8_9 = q_acc_8_9;
+             const real_t elMat_9_0 = q_acc_9_0;
+             const real_t elMat_9_1 = q_acc_9_1;
+             const real_t elMat_9_2 = q_acc_9_2;
+             const real_t elMat_9_3 = q_acc_9_3;
+             const real_t elMat_9_4 = q_acc_9_4;
+             const real_t elMat_9_5 = q_acc_9_5;
+             const real_t elMat_9_6 = q_acc_9_6;
+             const real_t elMat_9_7 = q_acc_9_7;
+             const real_t elMat_9_8 = q_acc_9_8;
+             const real_t elMat_9_9 = q_acc_9_9;
+         
+             std::vector< uint_t > _data_rowIdx( 10 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 100 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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[4] = ((uint64_t)(_data_dstEdge[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_rowIdx[5] = ((uint64_t)(_data_dstEdge[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_rowIdx[6] = ((uint64_t)(_data_dstEdge[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_rowIdx[7] = ((uint64_t)(_data_dstEdge[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_rowIdx[8] = ((uint64_t)(_data_dstEdge[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_rowIdx[9] = ((uint64_t)(_data_dstEdge[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))]));
+             _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));
+             _data_mat[40] = ((real_t)(elMat_4_0));
+             _data_mat[41] = ((real_t)(elMat_4_1));
+             _data_mat[42] = ((real_t)(elMat_4_2));
+             _data_mat[43] = ((real_t)(elMat_4_3));
+             _data_mat[44] = ((real_t)(elMat_4_4));
+             _data_mat[45] = ((real_t)(elMat_4_5));
+             _data_mat[46] = ((real_t)(elMat_4_6));
+             _data_mat[47] = ((real_t)(elMat_4_7));
+             _data_mat[48] = ((real_t)(elMat_4_8));
+             _data_mat[49] = ((real_t)(elMat_4_9));
+             _data_mat[50] = ((real_t)(elMat_5_0));
+             _data_mat[51] = ((real_t)(elMat_5_1));
+             _data_mat[52] = ((real_t)(elMat_5_2));
+             _data_mat[53] = ((real_t)(elMat_5_3));
+             _data_mat[54] = ((real_t)(elMat_5_4));
+             _data_mat[55] = ((real_t)(elMat_5_5));
+             _data_mat[56] = ((real_t)(elMat_5_6));
+             _data_mat[57] = ((real_t)(elMat_5_7));
+             _data_mat[58] = ((real_t)(elMat_5_8));
+             _data_mat[59] = ((real_t)(elMat_5_9));
+             _data_mat[60] = ((real_t)(elMat_6_0));
+             _data_mat[61] = ((real_t)(elMat_6_1));
+             _data_mat[62] = ((real_t)(elMat_6_2));
+             _data_mat[63] = ((real_t)(elMat_6_3));
+             _data_mat[64] = ((real_t)(elMat_6_4));
+             _data_mat[65] = ((real_t)(elMat_6_5));
+             _data_mat[66] = ((real_t)(elMat_6_6));
+             _data_mat[67] = ((real_t)(elMat_6_7));
+             _data_mat[68] = ((real_t)(elMat_6_8));
+             _data_mat[69] = ((real_t)(elMat_6_9));
+             _data_mat[70] = ((real_t)(elMat_7_0));
+             _data_mat[71] = ((real_t)(elMat_7_1));
+             _data_mat[72] = ((real_t)(elMat_7_2));
+             _data_mat[73] = ((real_t)(elMat_7_3));
+             _data_mat[74] = ((real_t)(elMat_7_4));
+             _data_mat[75] = ((real_t)(elMat_7_5));
+             _data_mat[76] = ((real_t)(elMat_7_6));
+             _data_mat[77] = ((real_t)(elMat_7_7));
+             _data_mat[78] = ((real_t)(elMat_7_8));
+             _data_mat[79] = ((real_t)(elMat_7_9));
+             _data_mat[80] = ((real_t)(elMat_8_0));
+             _data_mat[81] = ((real_t)(elMat_8_1));
+             _data_mat[82] = ((real_t)(elMat_8_2));
+             _data_mat[83] = ((real_t)(elMat_8_3));
+             _data_mat[84] = ((real_t)(elMat_8_4));
+             _data_mat[85] = ((real_t)(elMat_8_5));
+             _data_mat[86] = ((real_t)(elMat_8_6));
+             _data_mat[87] = ((real_t)(elMat_8_7));
+             _data_mat[88] = ((real_t)(elMat_8_8));
+             _data_mat[89] = ((real_t)(elMat_8_9));
+             _data_mat[90] = ((real_t)(elMat_9_0));
+             _data_mat[91] = ((real_t)(elMat_9_1));
+             _data_mat[92] = ((real_t)(elMat_9_2));
+             _data_mat[93] = ((real_t)(elMat_9_3));
+             _data_mat[94] = ((real_t)(elMat_9_4));
+             _data_mat[95] = ((real_t)(elMat_9_5));
+             _data_mat[96] = ((real_t)(elMat_9_6));
+             _data_mat[97] = ((real_t)(elMat_9_7));
+             _data_mat[98] = ((real_t)(elMat_9_8));
+             _data_mat[99] = ((real_t)(elMat_9_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 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_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 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_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 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_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 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN;
+       const real_t tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN);
+       const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN);
+       const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN);
+       const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN);
+       const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN);
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN);
+       const real_t tmp_moved_constant_0 = jac_affine_inv_2_0_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_1 = jac_affine_inv_0_0_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_2 = jac_affine_inv_1_0_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_3 = tmp_moved_constant_1 + tmp_moved_constant_2;
+       const real_t tmp_moved_constant_4 = tmp_moved_constant_0 + tmp_moved_constant_3;
+       const real_t tmp_moved_constant_5 = jac_affine_inv_2_1_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_6 = jac_affine_inv_0_1_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_7 = jac_affine_inv_1_1_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_8 = tmp_moved_constant_6 + tmp_moved_constant_7;
+       const real_t tmp_moved_constant_9 = tmp_moved_constant_5 + tmp_moved_constant_8;
+       const real_t tmp_moved_constant_10 = jac_affine_inv_2_2_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_11 = jac_affine_inv_0_2_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_12 = jac_affine_inv_1_2_WHITE_DOWN*4.0;
+       const real_t tmp_moved_constant_13 = tmp_moved_constant_11 + tmp_moved_constant_12;
+       const real_t tmp_moved_constant_14 = tmp_moved_constant_10 + tmp_moved_constant_13;
+       const real_t tmp_moved_constant_15 = jac_affine_inv_0_0_WHITE_DOWN*tmp_moved_constant_4 + jac_affine_inv_0_1_WHITE_DOWN*tmp_moved_constant_9 + jac_affine_inv_0_2_WHITE_DOWN*tmp_moved_constant_14 + jac_affine_inv_1_0_WHITE_DOWN*tmp_moved_constant_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_moved_constant_9 + jac_affine_inv_1_2_WHITE_DOWN*tmp_moved_constant_14 + jac_affine_inv_2_0_WHITE_DOWN*tmp_moved_constant_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_moved_constant_9 + jac_affine_inv_2_2_WHITE_DOWN*tmp_moved_constant_14;
+       const real_t tmp_moved_constant_16 = (jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN)*4.0 + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN)*4.0 + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)*4.0;
+       const real_t tmp_moved_constant_17 = (jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN)*4.0 + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN)*4.0 + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)*4.0;
+       const real_t tmp_moved_constant_18 = (jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN)*4.0 + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN)*4.0 + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)*4.0;
+       const real_t tmp_moved_constant_19 = jac_affine_inv_2_0_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_20 = jac_affine_inv_2_1_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_21 = jac_affine_inv_2_2_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_22 = jac_affine_inv_1_0_WHITE_DOWN*tmp_moved_constant_19 + jac_affine_inv_1_1_WHITE_DOWN*tmp_moved_constant_20 + jac_affine_inv_1_2_WHITE_DOWN*tmp_moved_constant_21;
+       const real_t tmp_moved_constant_23 = jac_affine_inv_0_0_WHITE_DOWN*tmp_moved_constant_19 + jac_affine_inv_0_1_WHITE_DOWN*tmp_moved_constant_20 + jac_affine_inv_0_2_WHITE_DOWN*tmp_moved_constant_21;
+       const real_t tmp_moved_constant_24 = jac_affine_inv_1_0_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_25 = jac_affine_inv_1_1_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_26 = jac_affine_inv_1_2_WHITE_DOWN*8.0;
+       const real_t tmp_moved_constant_27 = jac_affine_inv_0_0_WHITE_DOWN*tmp_moved_constant_24 + jac_affine_inv_0_1_WHITE_DOWN*tmp_moved_constant_25 + jac_affine_inv_0_2_WHITE_DOWN*tmp_moved_constant_26;
+       const real_t tmp_moved_constant_28 = jac_affine_inv_2_0_WHITE_DOWN*tmp_moved_constant_2 + jac_affine_inv_2_1_WHITE_DOWN*tmp_moved_constant_7 + jac_affine_inv_2_2_WHITE_DOWN*tmp_moved_constant_12;
+       const real_t tmp_moved_constant_29 = jac_affine_inv_2_0_WHITE_DOWN*tmp_moved_constant_1 + jac_affine_inv_2_1_WHITE_DOWN*tmp_moved_constant_6 + jac_affine_inv_2_2_WHITE_DOWN*tmp_moved_constant_11;
+       const real_t tmp_moved_constant_30 = jac_affine_inv_2_0_WHITE_DOWN*(-tmp_moved_constant_19 - tmp_moved_constant_3) + jac_affine_inv_2_1_WHITE_DOWN*(-tmp_moved_constant_20 - tmp_moved_constant_8) + jac_affine_inv_2_2_WHITE_DOWN*(-tmp_moved_constant_13 - tmp_moved_constant_21) - tmp_moved_constant_28 - tmp_moved_constant_29;
+       const real_t tmp_moved_constant_31 = jac_affine_inv_1_0_WHITE_DOWN*tmp_moved_constant_1 + jac_affine_inv_1_1_WHITE_DOWN*tmp_moved_constant_6 + jac_affine_inv_1_2_WHITE_DOWN*tmp_moved_constant_11;
+       const real_t tmp_moved_constant_32 = jac_affine_inv_1_0_WHITE_DOWN*(-tmp_moved_constant_0 - tmp_moved_constant_1 - tmp_moved_constant_24) + jac_affine_inv_1_1_WHITE_DOWN*(-tmp_moved_constant_25 - tmp_moved_constant_5 - tmp_moved_constant_6) + jac_affine_inv_1_2_WHITE_DOWN*(-tmp_moved_constant_10 - tmp_moved_constant_11 - tmp_moved_constant_26) - tmp_moved_constant_28 - tmp_moved_constant_31;
+       const real_t tmp_moved_constant_33 = jac_affine_inv_0_0_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*-8.0 - tmp_moved_constant_0 - tmp_moved_constant_2) + jac_affine_inv_0_1_WHITE_DOWN*(jac_affine_inv_0_1_WHITE_DOWN*-8.0 - tmp_moved_constant_5 - tmp_moved_constant_7) + jac_affine_inv_0_2_WHITE_DOWN*(jac_affine_inv_0_2_WHITE_DOWN*-8.0 - tmp_moved_constant_10 - tmp_moved_constant_12) - tmp_moved_constant_29 - tmp_moved_constant_31;
+       {
+          /* CellType.WHITE_DOWN */
+          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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_16 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_17 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_18 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18;
+                const real_t tmp_qloop_20 = tmp_qloop_16 + tmp_qloop_19 - 3.0;
+                const real_t tmp_qloop_21 = tmp_qloop_17*_data_q_p_1[q];
+                const real_t tmp_qloop_22 = tmp_qloop_17*_data_q_p_2[q];
+                const real_t tmp_qloop_23 = tmp_qloop_18*_data_q_p_2[q];
+                const real_t tmp_qloop_24 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_25 = tmp_qloop_24*2.0;
+                const real_t tmp_qloop_26 = tmp_qloop_25 - _data_q_p_0[q];
+                const real_t tmp_qloop_27 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_28 = tmp_qloop_27*2.0;
+                const real_t tmp_qloop_29 = tmp_qloop_28 - _data_q_p_1[q];
+                const real_t tmp_qloop_30 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_31 = tmp_qloop_30*2.0;
+                const real_t tmp_qloop_32 = tmp_qloop_31 - _data_q_p_2[q];
+                const real_t tmp_qloop_33 = tmp_qloop_16 - tmp_qloop_22 - tmp_qloop_23 + tmp_qloop_30*-4.0;
+                const real_t tmp_qloop_34 = tmp_qloop_18 - tmp_qloop_21 - tmp_qloop_23 + tmp_qloop_27*-4.0;
+                const real_t tmp_qloop_35 = tmp_qloop_21 + tmp_qloop_22;
+                const real_t tmp_qloop_36 = tmp_qloop_17 + tmp_qloop_24*-4.0 - tmp_qloop_35;
+                const real_t tmp_qloop_37 = tmp_qloop_23 + tmp_qloop_25 + tmp_qloop_28 + tmp_qloop_31 + tmp_qloop_35 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                const real_t tmp_qloop_38 = tmp_qloop_21*wx_dof_6 + tmp_qloop_22*wx_dof_5 + tmp_qloop_23*wx_dof_4 + tmp_qloop_26*wx_dof_1 + tmp_qloop_29*wx_dof_2 + tmp_qloop_32*wx_dof_3 + tmp_qloop_33*wx_dof_7 + tmp_qloop_34*wx_dof_8 + tmp_qloop_36*wx_dof_9 + tmp_qloop_37*wx_dof_0;
+                const real_t tmp_qloop_39 = tmp_qloop_21*wy_dof_6 + tmp_qloop_22*wy_dof_5 + tmp_qloop_23*wy_dof_4 + tmp_qloop_26*wy_dof_1 + tmp_qloop_29*wy_dof_2 + tmp_qloop_32*wy_dof_3 + tmp_qloop_33*wy_dof_7 + tmp_qloop_34*wy_dof_8 + tmp_qloop_36*wy_dof_9 + tmp_qloop_37*wy_dof_0;
+                const real_t tmp_qloop_40 = tmp_qloop_21*wz_dof_6 + tmp_qloop_22*wz_dof_5 + tmp_qloop_23*wz_dof_4 + tmp_qloop_26*wz_dof_1 + tmp_qloop_29*wz_dof_2 + tmp_qloop_32*wz_dof_3 + tmp_qloop_33*wz_dof_7 + tmp_qloop_34*wz_dof_8 + tmp_qloop_36*wz_dof_9 + tmp_qloop_37*wz_dof_0;
+                const real_t tmp_qloop_41 = abs_det_jac_affine_WHITE_DOWN*(diffusivity_times_delta_dof_0*tmp_qloop_37 + diffusivity_times_delta_dof_1*tmp_qloop_26 + diffusivity_times_delta_dof_2*tmp_qloop_29 + diffusivity_times_delta_dof_3*tmp_qloop_32 + diffusivity_times_delta_dof_4*tmp_qloop_23 + diffusivity_times_delta_dof_5*tmp_qloop_22 + diffusivity_times_delta_dof_6*tmp_qloop_21 + diffusivity_times_delta_dof_7*tmp_qloop_33 + diffusivity_times_delta_dof_8*tmp_qloop_34 + diffusivity_times_delta_dof_9*tmp_qloop_36)*_data_q_w[q];
+                const real_t tmp_qloop_42 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_20 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_20 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_20) + tmp_qloop_39*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_20 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_20 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_20) + tmp_qloop_40*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_20 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_20 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_20));
+                const real_t tmp_qloop_61 = tmp_qloop_17 - 1.0;
+                const real_t tmp_qloop_62 = tmp_qloop_41*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_38*tmp_qloop_61 + jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_39*tmp_qloop_61 + jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_40*tmp_qloop_61);
+                const real_t tmp_qloop_63 = tmp_qloop_18 - 1.0;
+                const real_t tmp_qloop_64 = tmp_qloop_41*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_38*tmp_qloop_63 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_39*tmp_qloop_63 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_40*tmp_qloop_63);
+                const real_t tmp_qloop_65 = tmp_qloop_16 - 1.0;
+                const real_t tmp_qloop_66 = tmp_qloop_41*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_38*tmp_qloop_65 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_39*tmp_qloop_65 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_40*tmp_qloop_65);
+                const real_t tmp_qloop_67 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_68 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_69 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_70 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_71 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_72 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_73 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_67 + tmp_qloop_68) + tmp_qloop_39*(tmp_qloop_69 + tmp_qloop_70) + tmp_qloop_40*(tmp_qloop_71 + tmp_qloop_72));
+                const real_t tmp_qloop_74 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_75 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_76 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_77 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_78 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_79 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_80 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_74 + tmp_qloop_75) + tmp_qloop_39*(tmp_qloop_76 + tmp_qloop_77) + tmp_qloop_40*(tmp_qloop_78 + tmp_qloop_79));
+                const real_t tmp_qloop_81 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_82 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_83 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_84 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_85 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_86 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_87 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_81 + tmp_qloop_82) + tmp_qloop_39*(tmp_qloop_83 + tmp_qloop_84) + tmp_qloop_40*(tmp_qloop_85 + tmp_qloop_86));
+                const real_t tmp_qloop_88 = -tmp_qloop_19 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_89 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_88 - tmp_qloop_68 - tmp_qloop_75) + tmp_qloop_39*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_88 - tmp_qloop_70 - tmp_qloop_77) + tmp_qloop_40*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_88 - tmp_qloop_72 - tmp_qloop_79));
+                const real_t tmp_qloop_90 = tmp_qloop_16 - 4.0;
+                const real_t tmp_qloop_91 = -tmp_qloop_17 - tmp_qloop_90 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_92 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_91 - tmp_qloop_67 - tmp_qloop_82) + tmp_qloop_39*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_91 - tmp_qloop_69 - tmp_qloop_84) + tmp_qloop_40*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_91 - tmp_qloop_71 - tmp_qloop_86));
+                const real_t tmp_qloop_93 = -tmp_qloop_18 - tmp_qloop_90 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_94 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_93 - tmp_qloop_74 - tmp_qloop_81) + tmp_qloop_39*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_93 - tmp_qloop_76 - tmp_qloop_83) + tmp_qloop_40*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_93 - tmp_qloop_78 - tmp_qloop_85));
+                const real_t q_tmp_0_0 = tmp_moved_constant_15*tmp_qloop_42;
+                const real_t q_tmp_0_1 = tmp_moved_constant_16*tmp_qloop_42;
+                const real_t q_tmp_0_2 = tmp_moved_constant_17*tmp_qloop_42;
+                const real_t q_tmp_0_3 = tmp_moved_constant_18*tmp_qloop_42;
+                const real_t q_tmp_0_4 = tmp_moved_constant_22*tmp_qloop_42;
+                const real_t q_tmp_0_5 = tmp_moved_constant_23*tmp_qloop_42;
+                const real_t q_tmp_0_6 = tmp_moved_constant_27*tmp_qloop_42;
+                const real_t q_tmp_0_7 = tmp_moved_constant_30*tmp_qloop_42;
+                const real_t q_tmp_0_8 = tmp_moved_constant_32*tmp_qloop_42;
+                const real_t q_tmp_0_9 = tmp_moved_constant_33*tmp_qloop_42;
+                const real_t q_tmp_1_0 = tmp_moved_constant_15*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_moved_constant_16*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_moved_constant_17*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_moved_constant_18*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_moved_constant_22*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_moved_constant_23*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_moved_constant_27*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_moved_constant_30*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_moved_constant_32*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_moved_constant_33*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_moved_constant_15*tmp_qloop_64;
+                const real_t q_tmp_2_1 = tmp_moved_constant_16*tmp_qloop_64;
+                const real_t q_tmp_2_2 = tmp_moved_constant_17*tmp_qloop_64;
+                const real_t q_tmp_2_3 = tmp_moved_constant_18*tmp_qloop_64;
+                const real_t q_tmp_2_4 = tmp_moved_constant_22*tmp_qloop_64;
+                const real_t q_tmp_2_5 = tmp_moved_constant_23*tmp_qloop_64;
+                const real_t q_tmp_2_6 = tmp_moved_constant_27*tmp_qloop_64;
+                const real_t q_tmp_2_7 = tmp_moved_constant_30*tmp_qloop_64;
+                const real_t q_tmp_2_8 = tmp_moved_constant_32*tmp_qloop_64;
+                const real_t q_tmp_2_9 = tmp_moved_constant_33*tmp_qloop_64;
+                const real_t q_tmp_3_0 = tmp_moved_constant_15*tmp_qloop_66;
+                const real_t q_tmp_3_1 = tmp_moved_constant_16*tmp_qloop_66;
+                const real_t q_tmp_3_2 = tmp_moved_constant_17*tmp_qloop_66;
+                const real_t q_tmp_3_3 = tmp_moved_constant_18*tmp_qloop_66;
+                const real_t q_tmp_3_4 = tmp_moved_constant_22*tmp_qloop_66;
+                const real_t q_tmp_3_5 = tmp_moved_constant_23*tmp_qloop_66;
+                const real_t q_tmp_3_6 = tmp_moved_constant_27*tmp_qloop_66;
+                const real_t q_tmp_3_7 = tmp_moved_constant_30*tmp_qloop_66;
+                const real_t q_tmp_3_8 = tmp_moved_constant_32*tmp_qloop_66;
+                const real_t q_tmp_3_9 = tmp_moved_constant_33*tmp_qloop_66;
+                const real_t q_tmp_4_0 = tmp_moved_constant_15*tmp_qloop_73;
+                const real_t q_tmp_4_1 = tmp_moved_constant_16*tmp_qloop_73;
+                const real_t q_tmp_4_2 = tmp_moved_constant_17*tmp_qloop_73;
+                const real_t q_tmp_4_3 = tmp_moved_constant_18*tmp_qloop_73;
+                const real_t q_tmp_4_4 = tmp_moved_constant_22*tmp_qloop_73;
+                const real_t q_tmp_4_5 = tmp_moved_constant_23*tmp_qloop_73;
+                const real_t q_tmp_4_6 = tmp_moved_constant_27*tmp_qloop_73;
+                const real_t q_tmp_4_7 = tmp_moved_constant_30*tmp_qloop_73;
+                const real_t q_tmp_4_8 = tmp_moved_constant_32*tmp_qloop_73;
+                const real_t q_tmp_4_9 = tmp_moved_constant_33*tmp_qloop_73;
+                const real_t q_tmp_5_0 = tmp_moved_constant_15*tmp_qloop_80;
+                const real_t q_tmp_5_1 = tmp_moved_constant_16*tmp_qloop_80;
+                const real_t q_tmp_5_2 = tmp_moved_constant_17*tmp_qloop_80;
+                const real_t q_tmp_5_3 = tmp_moved_constant_18*tmp_qloop_80;
+                const real_t q_tmp_5_4 = tmp_moved_constant_22*tmp_qloop_80;
+                const real_t q_tmp_5_5 = tmp_moved_constant_23*tmp_qloop_80;
+                const real_t q_tmp_5_6 = tmp_moved_constant_27*tmp_qloop_80;
+                const real_t q_tmp_5_7 = tmp_moved_constant_30*tmp_qloop_80;
+                const real_t q_tmp_5_8 = tmp_moved_constant_32*tmp_qloop_80;
+                const real_t q_tmp_5_9 = tmp_moved_constant_33*tmp_qloop_80;
+                const real_t q_tmp_6_0 = tmp_moved_constant_15*tmp_qloop_87;
+                const real_t q_tmp_6_1 = tmp_moved_constant_16*tmp_qloop_87;
+                const real_t q_tmp_6_2 = tmp_moved_constant_17*tmp_qloop_87;
+                const real_t q_tmp_6_3 = tmp_moved_constant_18*tmp_qloop_87;
+                const real_t q_tmp_6_4 = tmp_moved_constant_22*tmp_qloop_87;
+                const real_t q_tmp_6_5 = tmp_moved_constant_23*tmp_qloop_87;
+                const real_t q_tmp_6_6 = tmp_moved_constant_27*tmp_qloop_87;
+                const real_t q_tmp_6_7 = tmp_moved_constant_30*tmp_qloop_87;
+                const real_t q_tmp_6_8 = tmp_moved_constant_32*tmp_qloop_87;
+                const real_t q_tmp_6_9 = tmp_moved_constant_33*tmp_qloop_87;
+                const real_t q_tmp_7_0 = tmp_moved_constant_15*tmp_qloop_89;
+                const real_t q_tmp_7_1 = tmp_moved_constant_16*tmp_qloop_89;
+                const real_t q_tmp_7_2 = tmp_moved_constant_17*tmp_qloop_89;
+                const real_t q_tmp_7_3 = tmp_moved_constant_18*tmp_qloop_89;
+                const real_t q_tmp_7_4 = tmp_moved_constant_22*tmp_qloop_89;
+                const real_t q_tmp_7_5 = tmp_moved_constant_23*tmp_qloop_89;
+                const real_t q_tmp_7_6 = tmp_moved_constant_27*tmp_qloop_89;
+                const real_t q_tmp_7_7 = tmp_moved_constant_30*tmp_qloop_89;
+                const real_t q_tmp_7_8 = tmp_moved_constant_32*tmp_qloop_89;
+                const real_t q_tmp_7_9 = tmp_moved_constant_33*tmp_qloop_89;
+                const real_t q_tmp_8_0 = tmp_moved_constant_15*tmp_qloop_92;
+                const real_t q_tmp_8_1 = tmp_moved_constant_16*tmp_qloop_92;
+                const real_t q_tmp_8_2 = tmp_moved_constant_17*tmp_qloop_92;
+                const real_t q_tmp_8_3 = tmp_moved_constant_18*tmp_qloop_92;
+                const real_t q_tmp_8_4 = tmp_moved_constant_22*tmp_qloop_92;
+                const real_t q_tmp_8_5 = tmp_moved_constant_23*tmp_qloop_92;
+                const real_t q_tmp_8_6 = tmp_moved_constant_27*tmp_qloop_92;
+                const real_t q_tmp_8_7 = tmp_moved_constant_30*tmp_qloop_92;
+                const real_t q_tmp_8_8 = tmp_moved_constant_32*tmp_qloop_92;
+                const real_t q_tmp_8_9 = tmp_moved_constant_33*tmp_qloop_92;
+                const real_t q_tmp_9_0 = tmp_moved_constant_15*tmp_qloop_94;
+                const real_t q_tmp_9_1 = tmp_moved_constant_16*tmp_qloop_94;
+                const real_t q_tmp_9_2 = tmp_moved_constant_17*tmp_qloop_94;
+                const real_t q_tmp_9_3 = tmp_moved_constant_18*tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_moved_constant_22*tmp_qloop_94;
+                const real_t q_tmp_9_5 = tmp_moved_constant_23*tmp_qloop_94;
+                const real_t q_tmp_9_6 = tmp_moved_constant_27*tmp_qloop_94;
+                const real_t q_tmp_9_7 = tmp_moved_constant_30*tmp_qloop_94;
+                const real_t q_tmp_9_8 = tmp_moved_constant_32*tmp_qloop_94;
+                const real_t q_tmp_9_9 = tmp_moved_constant_33*tmp_qloop_94;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMat_4_0 = q_acc_4_0;
+             const real_t elMat_4_1 = q_acc_4_1;
+             const real_t elMat_4_2 = q_acc_4_2;
+             const real_t elMat_4_3 = q_acc_4_3;
+             const real_t elMat_4_4 = q_acc_4_4;
+             const real_t elMat_4_5 = q_acc_4_5;
+             const real_t elMat_4_6 = q_acc_4_6;
+             const real_t elMat_4_7 = q_acc_4_7;
+             const real_t elMat_4_8 = q_acc_4_8;
+             const real_t elMat_4_9 = q_acc_4_9;
+             const real_t elMat_5_0 = q_acc_5_0;
+             const real_t elMat_5_1 = q_acc_5_1;
+             const real_t elMat_5_2 = q_acc_5_2;
+             const real_t elMat_5_3 = q_acc_5_3;
+             const real_t elMat_5_4 = q_acc_5_4;
+             const real_t elMat_5_5 = q_acc_5_5;
+             const real_t elMat_5_6 = q_acc_5_6;
+             const real_t elMat_5_7 = q_acc_5_7;
+             const real_t elMat_5_8 = q_acc_5_8;
+             const real_t elMat_5_9 = q_acc_5_9;
+             const real_t elMat_6_0 = q_acc_6_0;
+             const real_t elMat_6_1 = q_acc_6_1;
+             const real_t elMat_6_2 = q_acc_6_2;
+             const real_t elMat_6_3 = q_acc_6_3;
+             const real_t elMat_6_4 = q_acc_6_4;
+             const real_t elMat_6_5 = q_acc_6_5;
+             const real_t elMat_6_6 = q_acc_6_6;
+             const real_t elMat_6_7 = q_acc_6_7;
+             const real_t elMat_6_8 = q_acc_6_8;
+             const real_t elMat_6_9 = q_acc_6_9;
+             const real_t elMat_7_0 = q_acc_7_0;
+             const real_t elMat_7_1 = q_acc_7_1;
+             const real_t elMat_7_2 = q_acc_7_2;
+             const real_t elMat_7_3 = q_acc_7_3;
+             const real_t elMat_7_4 = q_acc_7_4;
+             const real_t elMat_7_5 = q_acc_7_5;
+             const real_t elMat_7_6 = q_acc_7_6;
+             const real_t elMat_7_7 = q_acc_7_7;
+             const real_t elMat_7_8 = q_acc_7_8;
+             const real_t elMat_7_9 = q_acc_7_9;
+             const real_t elMat_8_0 = q_acc_8_0;
+             const real_t elMat_8_1 = q_acc_8_1;
+             const real_t elMat_8_2 = q_acc_8_2;
+             const real_t elMat_8_3 = q_acc_8_3;
+             const real_t elMat_8_4 = q_acc_8_4;
+             const real_t elMat_8_5 = q_acc_8_5;
+             const real_t elMat_8_6 = q_acc_8_6;
+             const real_t elMat_8_7 = q_acc_8_7;
+             const real_t elMat_8_8 = q_acc_8_8;
+             const real_t elMat_8_9 = q_acc_8_9;
+             const real_t elMat_9_0 = q_acc_9_0;
+             const real_t elMat_9_1 = q_acc_9_1;
+             const real_t elMat_9_2 = q_acc_9_2;
+             const real_t elMat_9_3 = q_acc_9_3;
+             const real_t elMat_9_4 = q_acc_9_4;
+             const real_t elMat_9_5 = q_acc_9_5;
+             const real_t elMat_9_6 = q_acc_9_6;
+             const real_t elMat_9_7 = q_acc_9_7;
+             const real_t elMat_9_8 = q_acc_9_8;
+             const real_t elMat_9_9 = q_acc_9_9;
+         
+             std::vector< uint_t > _data_rowIdx( 10 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 100 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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_rowIdx[4] = ((uint64_t)(_data_dstEdge[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_rowIdx[5] = ((uint64_t)(_data_dstEdge[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_rowIdx[6] = ((uint64_t)(_data_dstEdge[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_rowIdx[7] = ((uint64_t)(_data_dstEdge[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_rowIdx[8] = ((uint64_t)(_data_dstEdge[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_rowIdx[9] = ((uint64_t)(_data_dstEdge[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[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));
+             _data_mat[40] = ((real_t)(elMat_4_0));
+             _data_mat[41] = ((real_t)(elMat_4_1));
+             _data_mat[42] = ((real_t)(elMat_4_2));
+             _data_mat[43] = ((real_t)(elMat_4_3));
+             _data_mat[44] = ((real_t)(elMat_4_4));
+             _data_mat[45] = ((real_t)(elMat_4_5));
+             _data_mat[46] = ((real_t)(elMat_4_6));
+             _data_mat[47] = ((real_t)(elMat_4_7));
+             _data_mat[48] = ((real_t)(elMat_4_8));
+             _data_mat[49] = ((real_t)(elMat_4_9));
+             _data_mat[50] = ((real_t)(elMat_5_0));
+             _data_mat[51] = ((real_t)(elMat_5_1));
+             _data_mat[52] = ((real_t)(elMat_5_2));
+             _data_mat[53] = ((real_t)(elMat_5_3));
+             _data_mat[54] = ((real_t)(elMat_5_4));
+             _data_mat[55] = ((real_t)(elMat_5_5));
+             _data_mat[56] = ((real_t)(elMat_5_6));
+             _data_mat[57] = ((real_t)(elMat_5_7));
+             _data_mat[58] = ((real_t)(elMat_5_8));
+             _data_mat[59] = ((real_t)(elMat_5_9));
+             _data_mat[60] = ((real_t)(elMat_6_0));
+             _data_mat[61] = ((real_t)(elMat_6_1));
+             _data_mat[62] = ((real_t)(elMat_6_2));
+             _data_mat[63] = ((real_t)(elMat_6_3));
+             _data_mat[64] = ((real_t)(elMat_6_4));
+             _data_mat[65] = ((real_t)(elMat_6_5));
+             _data_mat[66] = ((real_t)(elMat_6_6));
+             _data_mat[67] = ((real_t)(elMat_6_7));
+             _data_mat[68] = ((real_t)(elMat_6_8));
+             _data_mat[69] = ((real_t)(elMat_6_9));
+             _data_mat[70] = ((real_t)(elMat_7_0));
+             _data_mat[71] = ((real_t)(elMat_7_1));
+             _data_mat[72] = ((real_t)(elMat_7_2));
+             _data_mat[73] = ((real_t)(elMat_7_3));
+             _data_mat[74] = ((real_t)(elMat_7_4));
+             _data_mat[75] = ((real_t)(elMat_7_5));
+             _data_mat[76] = ((real_t)(elMat_7_6));
+             _data_mat[77] = ((real_t)(elMat_7_7));
+             _data_mat[78] = ((real_t)(elMat_7_8));
+             _data_mat[79] = ((real_t)(elMat_7_9));
+             _data_mat[80] = ((real_t)(elMat_8_0));
+             _data_mat[81] = ((real_t)(elMat_8_1));
+             _data_mat[82] = ((real_t)(elMat_8_2));
+             _data_mat[83] = ((real_t)(elMat_8_3));
+             _data_mat[84] = ((real_t)(elMat_8_4));
+             _data_mat[85] = ((real_t)(elMat_8_5));
+             _data_mat[86] = ((real_t)(elMat_8_6));
+             _data_mat[87] = ((real_t)(elMat_8_7));
+             _data_mat[88] = ((real_t)(elMat_8_8));
+             _data_mat[89] = ((real_t)(elMat_8_9));
+             _data_mat[90] = ((real_t)(elMat_9_0));
+             _data_mat[91] = ((real_t)(elMat_9_1));
+             _data_mat[92] = ((real_t)(elMat_9_2));
+             _data_mat[93] = ((real_t)(elMat_9_3));
+             _data_mat[94] = ((real_t)(elMat_9_4));
+             _data_mat[95] = ((real_t)(elMat_9_5));
+             _data_mat[96] = ((real_t)(elMat_9_6));
+             _data_mat[97] = ((real_t)(elMat_9_7));
+             _data_mat[98] = ((real_t)(elMat_9_8));
+             _data_mat[99] = ((real_t)(elMat_9_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 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_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 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_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 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_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 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP;
+       const real_t tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP;
+       const real_t tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP);
+       const real_t jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP);
+       const real_t jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP);
+       const real_t jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP);
+       const real_t jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       const real_t jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP);
+       const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP);
+       const real_t tmp_moved_constant_34 = jac_affine_inv_2_0_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_35 = jac_affine_inv_0_0_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_36 = jac_affine_inv_1_0_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_37 = tmp_moved_constant_35 + tmp_moved_constant_36;
+       const real_t tmp_moved_constant_38 = tmp_moved_constant_34 + tmp_moved_constant_37;
+       const real_t tmp_moved_constant_39 = jac_affine_inv_2_1_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_40 = jac_affine_inv_0_1_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_41 = jac_affine_inv_1_1_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_42 = tmp_moved_constant_40 + tmp_moved_constant_41;
+       const real_t tmp_moved_constant_43 = tmp_moved_constant_39 + tmp_moved_constant_42;
+       const real_t tmp_moved_constant_44 = jac_affine_inv_2_2_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_45 = jac_affine_inv_0_2_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_46 = jac_affine_inv_1_2_BLUE_UP*4.0;
+       const real_t tmp_moved_constant_47 = tmp_moved_constant_45 + tmp_moved_constant_46;
+       const real_t tmp_moved_constant_48 = tmp_moved_constant_44 + tmp_moved_constant_47;
+       const real_t tmp_moved_constant_49 = jac_affine_inv_0_0_BLUE_UP*tmp_moved_constant_38 + jac_affine_inv_0_1_BLUE_UP*tmp_moved_constant_43 + jac_affine_inv_0_2_BLUE_UP*tmp_moved_constant_48 + jac_affine_inv_1_0_BLUE_UP*tmp_moved_constant_38 + jac_affine_inv_1_1_BLUE_UP*tmp_moved_constant_43 + jac_affine_inv_1_2_BLUE_UP*tmp_moved_constant_48 + jac_affine_inv_2_0_BLUE_UP*tmp_moved_constant_38 + jac_affine_inv_2_1_BLUE_UP*tmp_moved_constant_43 + jac_affine_inv_2_2_BLUE_UP*tmp_moved_constant_48;
+       const real_t tmp_moved_constant_50 = (jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP)*4.0 + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP)*4.0 + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)*4.0;
+       const real_t tmp_moved_constant_51 = (jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP)*4.0 + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP)*4.0 + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)*4.0;
+       const real_t tmp_moved_constant_52 = (jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP)*4.0 + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP)*4.0 + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)*4.0;
+       const real_t tmp_moved_constant_53 = jac_affine_inv_2_0_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_54 = jac_affine_inv_2_1_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_55 = jac_affine_inv_2_2_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_56 = jac_affine_inv_1_0_BLUE_UP*tmp_moved_constant_53 + jac_affine_inv_1_1_BLUE_UP*tmp_moved_constant_54 + jac_affine_inv_1_2_BLUE_UP*tmp_moved_constant_55;
+       const real_t tmp_moved_constant_57 = jac_affine_inv_0_0_BLUE_UP*tmp_moved_constant_53 + jac_affine_inv_0_1_BLUE_UP*tmp_moved_constant_54 + jac_affine_inv_0_2_BLUE_UP*tmp_moved_constant_55;
+       const real_t tmp_moved_constant_58 = jac_affine_inv_1_0_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_59 = jac_affine_inv_1_1_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_60 = jac_affine_inv_1_2_BLUE_UP*8.0;
+       const real_t tmp_moved_constant_61 = jac_affine_inv_0_0_BLUE_UP*tmp_moved_constant_58 + jac_affine_inv_0_1_BLUE_UP*tmp_moved_constant_59 + jac_affine_inv_0_2_BLUE_UP*tmp_moved_constant_60;
+       const real_t tmp_moved_constant_62 = jac_affine_inv_2_0_BLUE_UP*tmp_moved_constant_36 + jac_affine_inv_2_1_BLUE_UP*tmp_moved_constant_41 + jac_affine_inv_2_2_BLUE_UP*tmp_moved_constant_46;
+       const real_t tmp_moved_constant_63 = jac_affine_inv_2_0_BLUE_UP*tmp_moved_constant_35 + jac_affine_inv_2_1_BLUE_UP*tmp_moved_constant_40 + jac_affine_inv_2_2_BLUE_UP*tmp_moved_constant_45;
+       const real_t tmp_moved_constant_64 = jac_affine_inv_2_0_BLUE_UP*(-tmp_moved_constant_37 - tmp_moved_constant_53) + jac_affine_inv_2_1_BLUE_UP*(-tmp_moved_constant_42 - tmp_moved_constant_54) + jac_affine_inv_2_2_BLUE_UP*(-tmp_moved_constant_47 - tmp_moved_constant_55) - tmp_moved_constant_62 - tmp_moved_constant_63;
+       const real_t tmp_moved_constant_65 = jac_affine_inv_1_0_BLUE_UP*tmp_moved_constant_35 + jac_affine_inv_1_1_BLUE_UP*tmp_moved_constant_40 + jac_affine_inv_1_2_BLUE_UP*tmp_moved_constant_45;
+       const real_t tmp_moved_constant_66 = jac_affine_inv_1_0_BLUE_UP*(-tmp_moved_constant_34 - tmp_moved_constant_35 - tmp_moved_constant_58) + jac_affine_inv_1_1_BLUE_UP*(-tmp_moved_constant_39 - tmp_moved_constant_40 - tmp_moved_constant_59) + jac_affine_inv_1_2_BLUE_UP*(-tmp_moved_constant_44 - tmp_moved_constant_45 - tmp_moved_constant_60) - tmp_moved_constant_62 - tmp_moved_constant_65;
+       const real_t tmp_moved_constant_67 = jac_affine_inv_0_0_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*-8.0 - tmp_moved_constant_34 - tmp_moved_constant_36) + jac_affine_inv_0_1_BLUE_UP*(jac_affine_inv_0_1_BLUE_UP*-8.0 - tmp_moved_constant_39 - tmp_moved_constant_41) + jac_affine_inv_0_2_BLUE_UP*(jac_affine_inv_0_2_BLUE_UP*-8.0 - tmp_moved_constant_44 - tmp_moved_constant_46) - tmp_moved_constant_63 - tmp_moved_constant_65;
+       {
+          /* CellType.BLUE_UP */
+          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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_16 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_17 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_18 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18;
+                const real_t tmp_qloop_20 = tmp_qloop_16 + tmp_qloop_19 - 3.0;
+                const real_t tmp_qloop_21 = tmp_qloop_17*_data_q_p_1[q];
+                const real_t tmp_qloop_22 = tmp_qloop_17*_data_q_p_2[q];
+                const real_t tmp_qloop_23 = tmp_qloop_18*_data_q_p_2[q];
+                const real_t tmp_qloop_24 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_25 = tmp_qloop_24*2.0;
+                const real_t tmp_qloop_26 = tmp_qloop_25 - _data_q_p_0[q];
+                const real_t tmp_qloop_27 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_28 = tmp_qloop_27*2.0;
+                const real_t tmp_qloop_29 = tmp_qloop_28 - _data_q_p_1[q];
+                const real_t tmp_qloop_30 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_31 = tmp_qloop_30*2.0;
+                const real_t tmp_qloop_32 = tmp_qloop_31 - _data_q_p_2[q];
+                const real_t tmp_qloop_33 = tmp_qloop_16 - tmp_qloop_22 - tmp_qloop_23 + tmp_qloop_30*-4.0;
+                const real_t tmp_qloop_34 = tmp_qloop_18 - tmp_qloop_21 - tmp_qloop_23 + tmp_qloop_27*-4.0;
+                const real_t tmp_qloop_35 = tmp_qloop_21 + tmp_qloop_22;
+                const real_t tmp_qloop_36 = tmp_qloop_17 + tmp_qloop_24*-4.0 - tmp_qloop_35;
+                const real_t tmp_qloop_37 = tmp_qloop_23 + tmp_qloop_25 + tmp_qloop_28 + tmp_qloop_31 + tmp_qloop_35 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                const real_t tmp_qloop_38 = tmp_qloop_21*wx_dof_6 + tmp_qloop_22*wx_dof_5 + tmp_qloop_23*wx_dof_4 + tmp_qloop_26*wx_dof_1 + tmp_qloop_29*wx_dof_2 + tmp_qloop_32*wx_dof_3 + tmp_qloop_33*wx_dof_7 + tmp_qloop_34*wx_dof_8 + tmp_qloop_36*wx_dof_9 + tmp_qloop_37*wx_dof_0;
+                const real_t tmp_qloop_39 = tmp_qloop_21*wy_dof_6 + tmp_qloop_22*wy_dof_5 + tmp_qloop_23*wy_dof_4 + tmp_qloop_26*wy_dof_1 + tmp_qloop_29*wy_dof_2 + tmp_qloop_32*wy_dof_3 + tmp_qloop_33*wy_dof_7 + tmp_qloop_34*wy_dof_8 + tmp_qloop_36*wy_dof_9 + tmp_qloop_37*wy_dof_0;
+                const real_t tmp_qloop_40 = tmp_qloop_21*wz_dof_6 + tmp_qloop_22*wz_dof_5 + tmp_qloop_23*wz_dof_4 + tmp_qloop_26*wz_dof_1 + tmp_qloop_29*wz_dof_2 + tmp_qloop_32*wz_dof_3 + tmp_qloop_33*wz_dof_7 + tmp_qloop_34*wz_dof_8 + tmp_qloop_36*wz_dof_9 + tmp_qloop_37*wz_dof_0;
+                const real_t tmp_qloop_41 = abs_det_jac_affine_BLUE_UP*(diffusivity_times_delta_dof_0*tmp_qloop_37 + diffusivity_times_delta_dof_1*tmp_qloop_26 + diffusivity_times_delta_dof_2*tmp_qloop_29 + diffusivity_times_delta_dof_3*tmp_qloop_32 + diffusivity_times_delta_dof_4*tmp_qloop_23 + diffusivity_times_delta_dof_5*tmp_qloop_22 + diffusivity_times_delta_dof_6*tmp_qloop_21 + diffusivity_times_delta_dof_7*tmp_qloop_33 + diffusivity_times_delta_dof_8*tmp_qloop_34 + diffusivity_times_delta_dof_9*tmp_qloop_36)*_data_q_w[q];
+                const real_t tmp_qloop_42 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_20 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_20 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_20) + tmp_qloop_39*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_20 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_20 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_20) + tmp_qloop_40*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_20 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_20 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_20));
+                const real_t tmp_qloop_61 = tmp_qloop_17 - 1.0;
+                const real_t tmp_qloop_62 = tmp_qloop_41*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_38*tmp_qloop_61 + jac_affine_inv_0_1_BLUE_UP*tmp_qloop_39*tmp_qloop_61 + jac_affine_inv_0_2_BLUE_UP*tmp_qloop_40*tmp_qloop_61);
+                const real_t tmp_qloop_63 = tmp_qloop_18 - 1.0;
+                const real_t tmp_qloop_64 = tmp_qloop_41*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_38*tmp_qloop_63 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_39*tmp_qloop_63 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_40*tmp_qloop_63);
+                const real_t tmp_qloop_65 = tmp_qloop_16 - 1.0;
+                const real_t tmp_qloop_66 = tmp_qloop_41*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_38*tmp_qloop_65 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_39*tmp_qloop_65 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_40*tmp_qloop_65);
+                const real_t tmp_qloop_67 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_68 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_69 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_70 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_71 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_72 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_73 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_67 + tmp_qloop_68) + tmp_qloop_39*(tmp_qloop_69 + tmp_qloop_70) + tmp_qloop_40*(tmp_qloop_71 + tmp_qloop_72));
+                const real_t tmp_qloop_74 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_75 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_76 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_77 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_78 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_79 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_16;
+                const real_t tmp_qloop_80 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_74 + tmp_qloop_75) + tmp_qloop_39*(tmp_qloop_76 + tmp_qloop_77) + tmp_qloop_40*(tmp_qloop_78 + tmp_qloop_79));
+                const real_t tmp_qloop_81 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_82 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_83 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_84 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_85 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_17;
+                const real_t tmp_qloop_86 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_18;
+                const real_t tmp_qloop_87 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_81 + tmp_qloop_82) + tmp_qloop_39*(tmp_qloop_83 + tmp_qloop_84) + tmp_qloop_40*(tmp_qloop_85 + tmp_qloop_86));
+                const real_t tmp_qloop_88 = -tmp_qloop_19 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_89 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_88 - tmp_qloop_68 - tmp_qloop_75) + tmp_qloop_39*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_88 - tmp_qloop_70 - tmp_qloop_77) + tmp_qloop_40*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_88 - tmp_qloop_72 - tmp_qloop_79));
+                const real_t tmp_qloop_90 = tmp_qloop_16 - 4.0;
+                const real_t tmp_qloop_91 = -tmp_qloop_17 - tmp_qloop_90 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_92 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_91 - tmp_qloop_67 - tmp_qloop_82) + tmp_qloop_39*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_91 - tmp_qloop_69 - tmp_qloop_84) + tmp_qloop_40*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_91 - tmp_qloop_71 - tmp_qloop_86));
+                const real_t tmp_qloop_93 = -tmp_qloop_18 - tmp_qloop_90 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_94 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_93 - tmp_qloop_74 - tmp_qloop_81) + tmp_qloop_39*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_93 - tmp_qloop_76 - tmp_qloop_83) + tmp_qloop_40*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_93 - tmp_qloop_78 - tmp_qloop_85));
+                const real_t q_tmp_0_0 = tmp_moved_constant_49*tmp_qloop_42;
+                const real_t q_tmp_0_1 = tmp_moved_constant_50*tmp_qloop_42;
+                const real_t q_tmp_0_2 = tmp_moved_constant_51*tmp_qloop_42;
+                const real_t q_tmp_0_3 = tmp_moved_constant_52*tmp_qloop_42;
+                const real_t q_tmp_0_4 = tmp_moved_constant_56*tmp_qloop_42;
+                const real_t q_tmp_0_5 = tmp_moved_constant_57*tmp_qloop_42;
+                const real_t q_tmp_0_6 = tmp_moved_constant_61*tmp_qloop_42;
+                const real_t q_tmp_0_7 = tmp_moved_constant_64*tmp_qloop_42;
+                const real_t q_tmp_0_8 = tmp_moved_constant_66*tmp_qloop_42;
+                const real_t q_tmp_0_9 = tmp_moved_constant_67*tmp_qloop_42;
+                const real_t q_tmp_1_0 = tmp_moved_constant_49*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_moved_constant_50*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_moved_constant_51*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_moved_constant_52*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_moved_constant_56*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_moved_constant_57*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_moved_constant_61*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_moved_constant_64*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_moved_constant_66*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_moved_constant_67*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_moved_constant_49*tmp_qloop_64;
+                const real_t q_tmp_2_1 = tmp_moved_constant_50*tmp_qloop_64;
+                const real_t q_tmp_2_2 = tmp_moved_constant_51*tmp_qloop_64;
+                const real_t q_tmp_2_3 = tmp_moved_constant_52*tmp_qloop_64;
+                const real_t q_tmp_2_4 = tmp_moved_constant_56*tmp_qloop_64;
+                const real_t q_tmp_2_5 = tmp_moved_constant_57*tmp_qloop_64;
+                const real_t q_tmp_2_6 = tmp_moved_constant_61*tmp_qloop_64;
+                const real_t q_tmp_2_7 = tmp_moved_constant_64*tmp_qloop_64;
+                const real_t q_tmp_2_8 = tmp_moved_constant_66*tmp_qloop_64;
+                const real_t q_tmp_2_9 = tmp_moved_constant_67*tmp_qloop_64;
+                const real_t q_tmp_3_0 = tmp_moved_constant_49*tmp_qloop_66;
+                const real_t q_tmp_3_1 = tmp_moved_constant_50*tmp_qloop_66;
+                const real_t q_tmp_3_2 = tmp_moved_constant_51*tmp_qloop_66;
+                const real_t q_tmp_3_3 = tmp_moved_constant_52*tmp_qloop_66;
+                const real_t q_tmp_3_4 = tmp_moved_constant_56*tmp_qloop_66;
+                const real_t q_tmp_3_5 = tmp_moved_constant_57*tmp_qloop_66;
+                const real_t q_tmp_3_6 = tmp_moved_constant_61*tmp_qloop_66;
+                const real_t q_tmp_3_7 = tmp_moved_constant_64*tmp_qloop_66;
+                const real_t q_tmp_3_8 = tmp_moved_constant_66*tmp_qloop_66;
+                const real_t q_tmp_3_9 = tmp_moved_constant_67*tmp_qloop_66;
+                const real_t q_tmp_4_0 = tmp_moved_constant_49*tmp_qloop_73;
+                const real_t q_tmp_4_1 = tmp_moved_constant_50*tmp_qloop_73;
+                const real_t q_tmp_4_2 = tmp_moved_constant_51*tmp_qloop_73;
+                const real_t q_tmp_4_3 = tmp_moved_constant_52*tmp_qloop_73;
+                const real_t q_tmp_4_4 = tmp_moved_constant_56*tmp_qloop_73;
+                const real_t q_tmp_4_5 = tmp_moved_constant_57*tmp_qloop_73;
+                const real_t q_tmp_4_6 = tmp_moved_constant_61*tmp_qloop_73;
+                const real_t q_tmp_4_7 = tmp_moved_constant_64*tmp_qloop_73;
+                const real_t q_tmp_4_8 = tmp_moved_constant_66*tmp_qloop_73;
+                const real_t q_tmp_4_9 = tmp_moved_constant_67*tmp_qloop_73;
+                const real_t q_tmp_5_0 = tmp_moved_constant_49*tmp_qloop_80;
+                const real_t q_tmp_5_1 = tmp_moved_constant_50*tmp_qloop_80;
+                const real_t q_tmp_5_2 = tmp_moved_constant_51*tmp_qloop_80;
+                const real_t q_tmp_5_3 = tmp_moved_constant_52*tmp_qloop_80;
+                const real_t q_tmp_5_4 = tmp_moved_constant_56*tmp_qloop_80;
+                const real_t q_tmp_5_5 = tmp_moved_constant_57*tmp_qloop_80;
+                const real_t q_tmp_5_6 = tmp_moved_constant_61*tmp_qloop_80;
+                const real_t q_tmp_5_7 = tmp_moved_constant_64*tmp_qloop_80;
+                const real_t q_tmp_5_8 = tmp_moved_constant_66*tmp_qloop_80;
+                const real_t q_tmp_5_9 = tmp_moved_constant_67*tmp_qloop_80;
+                const real_t q_tmp_6_0 = tmp_moved_constant_49*tmp_qloop_87;
+                const real_t q_tmp_6_1 = tmp_moved_constant_50*tmp_qloop_87;
+                const real_t q_tmp_6_2 = tmp_moved_constant_51*tmp_qloop_87;
+                const real_t q_tmp_6_3 = tmp_moved_constant_52*tmp_qloop_87;
+                const real_t q_tmp_6_4 = tmp_moved_constant_56*tmp_qloop_87;
+                const real_t q_tmp_6_5 = tmp_moved_constant_57*tmp_qloop_87;
+                const real_t q_tmp_6_6 = tmp_moved_constant_61*tmp_qloop_87;
+                const real_t q_tmp_6_7 = tmp_moved_constant_64*tmp_qloop_87;
+                const real_t q_tmp_6_8 = tmp_moved_constant_66*tmp_qloop_87;
+                const real_t q_tmp_6_9 = tmp_moved_constant_67*tmp_qloop_87;
+                const real_t q_tmp_7_0 = tmp_moved_constant_49*tmp_qloop_89;
+                const real_t q_tmp_7_1 = tmp_moved_constant_50*tmp_qloop_89;
+                const real_t q_tmp_7_2 = tmp_moved_constant_51*tmp_qloop_89;
+                const real_t q_tmp_7_3 = tmp_moved_constant_52*tmp_qloop_89;
+                const real_t q_tmp_7_4 = tmp_moved_constant_56*tmp_qloop_89;
+                const real_t q_tmp_7_5 = tmp_moved_constant_57*tmp_qloop_89;
+                const real_t q_tmp_7_6 = tmp_moved_constant_61*tmp_qloop_89;
+                const real_t q_tmp_7_7 = tmp_moved_constant_64*tmp_qloop_89;
+                const real_t q_tmp_7_8 = tmp_moved_constant_66*tmp_qloop_89;
+                const real_t q_tmp_7_9 = tmp_moved_constant_67*tmp_qloop_89;
+                const real_t q_tmp_8_0 = tmp_moved_constant_49*tmp_qloop_92;
+                const real_t q_tmp_8_1 = tmp_moved_constant_50*tmp_qloop_92;
+                const real_t q_tmp_8_2 = tmp_moved_constant_51*tmp_qloop_92;
+                const real_t q_tmp_8_3 = tmp_moved_constant_52*tmp_qloop_92;
+                const real_t q_tmp_8_4 = tmp_moved_constant_56*tmp_qloop_92;
+                const real_t q_tmp_8_5 = tmp_moved_constant_57*tmp_qloop_92;
+                const real_t q_tmp_8_6 = tmp_moved_constant_61*tmp_qloop_92;
+                const real_t q_tmp_8_7 = tmp_moved_constant_64*tmp_qloop_92;
+                const real_t q_tmp_8_8 = tmp_moved_constant_66*tmp_qloop_92;
+                const real_t q_tmp_8_9 = tmp_moved_constant_67*tmp_qloop_92;
+                const real_t q_tmp_9_0 = tmp_moved_constant_49*tmp_qloop_94;
+                const real_t q_tmp_9_1 = tmp_moved_constant_50*tmp_qloop_94;
+                const real_t q_tmp_9_2 = tmp_moved_constant_51*tmp_qloop_94;
+                const real_t q_tmp_9_3 = tmp_moved_constant_52*tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_moved_constant_56*tmp_qloop_94;
+                const real_t q_tmp_9_5 = tmp_moved_constant_57*tmp_qloop_94;
+                const real_t q_tmp_9_6 = tmp_moved_constant_61*tmp_qloop_94;
+                const real_t q_tmp_9_7 = tmp_moved_constant_64*tmp_qloop_94;
+                const real_t q_tmp_9_8 = tmp_moved_constant_66*tmp_qloop_94;
+                const real_t q_tmp_9_9 = tmp_moved_constant_67*tmp_qloop_94;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMat_4_0 = q_acc_4_0;
+             const real_t elMat_4_1 = q_acc_4_1;
+             const real_t elMat_4_2 = q_acc_4_2;
+             const real_t elMat_4_3 = q_acc_4_3;
+             const real_t elMat_4_4 = q_acc_4_4;
+             const real_t elMat_4_5 = q_acc_4_5;
+             const real_t elMat_4_6 = q_acc_4_6;
+             const real_t elMat_4_7 = q_acc_4_7;
+             const real_t elMat_4_8 = q_acc_4_8;
+             const real_t elMat_4_9 = q_acc_4_9;
+             const real_t elMat_5_0 = q_acc_5_0;
+             const real_t elMat_5_1 = q_acc_5_1;
+             const real_t elMat_5_2 = q_acc_5_2;
+             const real_t elMat_5_3 = q_acc_5_3;
+             const real_t elMat_5_4 = q_acc_5_4;
+             const real_t elMat_5_5 = q_acc_5_5;
+             const real_t elMat_5_6 = q_acc_5_6;
+             const real_t elMat_5_7 = q_acc_5_7;
+             const real_t elMat_5_8 = q_acc_5_8;
+             const real_t elMat_5_9 = q_acc_5_9;
+             const real_t elMat_6_0 = q_acc_6_0;
+             const real_t elMat_6_1 = q_acc_6_1;
+             const real_t elMat_6_2 = q_acc_6_2;
+             const real_t elMat_6_3 = q_acc_6_3;
+             const real_t elMat_6_4 = q_acc_6_4;
+             const real_t elMat_6_5 = q_acc_6_5;
+             const real_t elMat_6_6 = q_acc_6_6;
+             const real_t elMat_6_7 = q_acc_6_7;
+             const real_t elMat_6_8 = q_acc_6_8;
+             const real_t elMat_6_9 = q_acc_6_9;
+             const real_t elMat_7_0 = q_acc_7_0;
+             const real_t elMat_7_1 = q_acc_7_1;
+             const real_t elMat_7_2 = q_acc_7_2;
+             const real_t elMat_7_3 = q_acc_7_3;
+             const real_t elMat_7_4 = q_acc_7_4;
+             const real_t elMat_7_5 = q_acc_7_5;
+             const real_t elMat_7_6 = q_acc_7_6;
+             const real_t elMat_7_7 = q_acc_7_7;
+             const real_t elMat_7_8 = q_acc_7_8;
+             const real_t elMat_7_9 = q_acc_7_9;
+             const real_t elMat_8_0 = q_acc_8_0;
+             const real_t elMat_8_1 = q_acc_8_1;
+             const real_t elMat_8_2 = q_acc_8_2;
+             const real_t elMat_8_3 = q_acc_8_3;
+             const real_t elMat_8_4 = q_acc_8_4;
+             const real_t elMat_8_5 = q_acc_8_5;
+             const real_t elMat_8_6 = q_acc_8_6;
+             const real_t elMat_8_7 = q_acc_8_7;
+             const real_t elMat_8_8 = q_acc_8_8;
+             const real_t elMat_8_9 = q_acc_8_9;
+             const real_t elMat_9_0 = q_acc_9_0;
+             const real_t elMat_9_1 = q_acc_9_1;
+             const real_t elMat_9_2 = q_acc_9_2;
+             const real_t elMat_9_3 = q_acc_9_3;
+             const real_t elMat_9_4 = q_acc_9_4;
+             const real_t elMat_9_5 = q_acc_9_5;
+             const real_t elMat_9_6 = q_acc_9_6;
+             const real_t elMat_9_7 = q_acc_9_7;
+             const real_t elMat_9_8 = q_acc_9_8;
+             const real_t elMat_9_9 = q_acc_9_9;
+         
+             std::vector< uint_t > _data_rowIdx( 10 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 100 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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[4] = ((uint64_t)(_data_dstEdge[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_rowIdx[5] = ((uint64_t)(_data_dstEdge[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_rowIdx[6] = ((uint64_t)(_data_dstEdge[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_rowIdx[7] = ((uint64_t)(_data_dstEdge[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_rowIdx[8] = ((uint64_t)(_data_dstEdge[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_rowIdx[9] = ((uint64_t)(_data_dstEdge[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[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));
+             _data_mat[40] = ((real_t)(elMat_4_0));
+             _data_mat[41] = ((real_t)(elMat_4_1));
+             _data_mat[42] = ((real_t)(elMat_4_2));
+             _data_mat[43] = ((real_t)(elMat_4_3));
+             _data_mat[44] = ((real_t)(elMat_4_4));
+             _data_mat[45] = ((real_t)(elMat_4_5));
+             _data_mat[46] = ((real_t)(elMat_4_6));
+             _data_mat[47] = ((real_t)(elMat_4_7));
+             _data_mat[48] = ((real_t)(elMat_4_8));
+             _data_mat[49] = ((real_t)(elMat_4_9));
+             _data_mat[50] = ((real_t)(elMat_5_0));
+             _data_mat[51] = ((real_t)(elMat_5_1));
+             _data_mat[52] = ((real_t)(elMat_5_2));
+             _data_mat[53] = ((real_t)(elMat_5_3));
+             _data_mat[54] = ((real_t)(elMat_5_4));
+             _data_mat[55] = ((real_t)(elMat_5_5));
+             _data_mat[56] = ((real_t)(elMat_5_6));
+             _data_mat[57] = ((real_t)(elMat_5_7));
+             _data_mat[58] = ((real_t)(elMat_5_8));
+             _data_mat[59] = ((real_t)(elMat_5_9));
+             _data_mat[60] = ((real_t)(elMat_6_0));
+             _data_mat[61] = ((real_t)(elMat_6_1));
+             _data_mat[62] = ((real_t)(elMat_6_2));
+             _data_mat[63] = ((real_t)(elMat_6_3));
+             _data_mat[64] = ((real_t)(elMat_6_4));
+             _data_mat[65] = ((real_t)(elMat_6_5));
+             _data_mat[66] = ((real_t)(elMat_6_6));
+             _data_mat[67] = ((real_t)(elMat_6_7));
+             _data_mat[68] = ((real_t)(elMat_6_8));
+             _data_mat[69] = ((real_t)(elMat_6_9));
+             _data_mat[70] = ((real_t)(elMat_7_0));
+             _data_mat[71] = ((real_t)(elMat_7_1));
+             _data_mat[72] = ((real_t)(elMat_7_2));
+             _data_mat[73] = ((real_t)(elMat_7_3));
+             _data_mat[74] = ((real_t)(elMat_7_4));
+             _data_mat[75] = ((real_t)(elMat_7_5));
+             _data_mat[76] = ((real_t)(elMat_7_6));
+             _data_mat[77] = ((real_t)(elMat_7_7));
+             _data_mat[78] = ((real_t)(elMat_7_8));
+             _data_mat[79] = ((real_t)(elMat_7_9));
+             _data_mat[80] = ((real_t)(elMat_8_0));
+             _data_mat[81] = ((real_t)(elMat_8_1));
+             _data_mat[82] = ((real_t)(elMat_8_2));
+             _data_mat[83] = ((real_t)(elMat_8_3));
+             _data_mat[84] = ((real_t)(elMat_8_4));
+             _data_mat[85] = ((real_t)(elMat_8_5));
+             _data_mat[86] = ((real_t)(elMat_8_6));
+             _data_mat[87] = ((real_t)(elMat_8_7));
+             _data_mat[88] = ((real_t)(elMat_8_8));
+             _data_mat[89] = ((real_t)(elMat_8_9));
+             _data_mat[90] = ((real_t)(elMat_9_0));
+             _data_mat[91] = ((real_t)(elMat_9_1));
+             _data_mat[92] = ((real_t)(elMat_9_2));
+             _data_mat[93] = ((real_t)(elMat_9_3));
+             _data_mat[94] = ((real_t)(elMat_9_4));
+             _data_mat[95] = ((real_t)(elMat_9_5));
+             _data_mat[96] = ((real_t)(elMat_9_6));
+             _data_mat[97] = ((real_t)(elMat_9_7));
+             _data_mat[98] = ((real_t)(elMat_9_8));
+             _data_mat[99] = ((real_t)(elMat_9_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 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_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 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN;
+       const real_t tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN;
+       const real_t tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN);
+       const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN);
+       const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN);
+       const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN);
+       const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN);
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN);
+       const real_t tmp_moved_constant_68 = jac_affine_inv_2_0_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_69 = jac_affine_inv_0_0_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_70 = jac_affine_inv_1_0_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_71 = tmp_moved_constant_69 + tmp_moved_constant_70;
+       const real_t tmp_moved_constant_72 = tmp_moved_constant_68 + tmp_moved_constant_71;
+       const real_t tmp_moved_constant_73 = jac_affine_inv_2_1_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_74 = jac_affine_inv_0_1_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_75 = jac_affine_inv_1_1_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_76 = tmp_moved_constant_74 + tmp_moved_constant_75;
+       const real_t tmp_moved_constant_77 = tmp_moved_constant_73 + tmp_moved_constant_76;
+       const real_t tmp_moved_constant_78 = jac_affine_inv_2_2_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_79 = jac_affine_inv_0_2_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_80 = jac_affine_inv_1_2_BLUE_DOWN*4.0;
+       const real_t tmp_moved_constant_81 = tmp_moved_constant_79 + tmp_moved_constant_80;
+       const real_t tmp_moved_constant_82 = tmp_moved_constant_78 + tmp_moved_constant_81;
+       const real_t tmp_moved_constant_83 = jac_affine_inv_0_0_BLUE_DOWN*tmp_moved_constant_72 + jac_affine_inv_0_1_BLUE_DOWN*tmp_moved_constant_77 + jac_affine_inv_0_2_BLUE_DOWN*tmp_moved_constant_82 + jac_affine_inv_1_0_BLUE_DOWN*tmp_moved_constant_72 + jac_affine_inv_1_1_BLUE_DOWN*tmp_moved_constant_77 + jac_affine_inv_1_2_BLUE_DOWN*tmp_moved_constant_82 + jac_affine_inv_2_0_BLUE_DOWN*tmp_moved_constant_72 + jac_affine_inv_2_1_BLUE_DOWN*tmp_moved_constant_77 + jac_affine_inv_2_2_BLUE_DOWN*tmp_moved_constant_82;
+       const real_t tmp_moved_constant_84 = (jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN)*4.0 + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN)*4.0 + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)*4.0;
+       const real_t tmp_moved_constant_85 = (jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN)*4.0 + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN)*4.0 + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)*4.0;
+       const real_t tmp_moved_constant_86 = (jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN)*4.0 + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN)*4.0 + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)*4.0;
+       const real_t tmp_moved_constant_87 = jac_affine_inv_2_0_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_88 = jac_affine_inv_2_1_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_89 = jac_affine_inv_2_2_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_90 = jac_affine_inv_1_0_BLUE_DOWN*tmp_moved_constant_87 + jac_affine_inv_1_1_BLUE_DOWN*tmp_moved_constant_88 + jac_affine_inv_1_2_BLUE_DOWN*tmp_moved_constant_89;
+       const real_t tmp_moved_constant_91 = jac_affine_inv_0_0_BLUE_DOWN*tmp_moved_constant_87 + jac_affine_inv_0_1_BLUE_DOWN*tmp_moved_constant_88 + jac_affine_inv_0_2_BLUE_DOWN*tmp_moved_constant_89;
+       const real_t tmp_moved_constant_92 = jac_affine_inv_1_0_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_93 = jac_affine_inv_1_1_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_94 = jac_affine_inv_1_2_BLUE_DOWN*8.0;
+       const real_t tmp_moved_constant_95 = jac_affine_inv_0_0_BLUE_DOWN*tmp_moved_constant_92 + jac_affine_inv_0_1_BLUE_DOWN*tmp_moved_constant_93 + jac_affine_inv_0_2_BLUE_DOWN*tmp_moved_constant_94;
+       const real_t tmp_moved_constant_96 = jac_affine_inv_2_0_BLUE_DOWN*tmp_moved_constant_70 + jac_affine_inv_2_1_BLUE_DOWN*tmp_moved_constant_75 + jac_affine_inv_2_2_BLUE_DOWN*tmp_moved_constant_80;
+       const real_t tmp_moved_constant_97 = jac_affine_inv_2_0_BLUE_DOWN*tmp_moved_constant_69 + jac_affine_inv_2_1_BLUE_DOWN*tmp_moved_constant_74 + jac_affine_inv_2_2_BLUE_DOWN*tmp_moved_constant_79;
+       const real_t tmp_moved_constant_98 = jac_affine_inv_2_0_BLUE_DOWN*(-tmp_moved_constant_71 - tmp_moved_constant_87) + jac_affine_inv_2_1_BLUE_DOWN*(-tmp_moved_constant_76 - tmp_moved_constant_88) + jac_affine_inv_2_2_BLUE_DOWN*(-tmp_moved_constant_81 - tmp_moved_constant_89) - tmp_moved_constant_96 - tmp_moved_constant_97;
+       const real_t tmp_moved_constant_99 = jac_affine_inv_1_0_BLUE_DOWN*tmp_moved_constant_69 + jac_affine_inv_1_1_BLUE_DOWN*tmp_moved_constant_74 + jac_affine_inv_1_2_BLUE_DOWN*tmp_moved_constant_79;
+       const real_t tmp_moved_constant_100 = jac_affine_inv_1_0_BLUE_DOWN*(-tmp_moved_constant_68 - tmp_moved_constant_69 - tmp_moved_constant_92) + jac_affine_inv_1_1_BLUE_DOWN*(-tmp_moved_constant_73 - tmp_moved_constant_74 - tmp_moved_constant_93) + jac_affine_inv_1_2_BLUE_DOWN*(-tmp_moved_constant_78 - tmp_moved_constant_79 - tmp_moved_constant_94) - tmp_moved_constant_96 - tmp_moved_constant_99;
+       const real_t tmp_moved_constant_101 = jac_affine_inv_0_0_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*-8.0 - tmp_moved_constant_68 - tmp_moved_constant_70) + jac_affine_inv_0_1_BLUE_DOWN*(jac_affine_inv_0_1_BLUE_DOWN*-8.0 - tmp_moved_constant_73 - tmp_moved_constant_75) + jac_affine_inv_0_2_BLUE_DOWN*(jac_affine_inv_0_2_BLUE_DOWN*-8.0 - tmp_moved_constant_78 - tmp_moved_constant_80) - tmp_moved_constant_97 - tmp_moved_constant_99;
+       {
+          /* CellType.BLUE_DOWN */
+          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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_16 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_17 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_18 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18;
+                const real_t tmp_qloop_20 = tmp_qloop_16 + tmp_qloop_19 - 3.0;
+                const real_t tmp_qloop_21 = tmp_qloop_17*_data_q_p_1[q];
+                const real_t tmp_qloop_22 = tmp_qloop_17*_data_q_p_2[q];
+                const real_t tmp_qloop_23 = tmp_qloop_18*_data_q_p_2[q];
+                const real_t tmp_qloop_24 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_25 = tmp_qloop_24*2.0;
+                const real_t tmp_qloop_26 = tmp_qloop_25 - _data_q_p_0[q];
+                const real_t tmp_qloop_27 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_28 = tmp_qloop_27*2.0;
+                const real_t tmp_qloop_29 = tmp_qloop_28 - _data_q_p_1[q];
+                const real_t tmp_qloop_30 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_31 = tmp_qloop_30*2.0;
+                const real_t tmp_qloop_32 = tmp_qloop_31 - _data_q_p_2[q];
+                const real_t tmp_qloop_33 = tmp_qloop_16 - tmp_qloop_22 - tmp_qloop_23 + tmp_qloop_30*-4.0;
+                const real_t tmp_qloop_34 = tmp_qloop_18 - tmp_qloop_21 - tmp_qloop_23 + tmp_qloop_27*-4.0;
+                const real_t tmp_qloop_35 = tmp_qloop_21 + tmp_qloop_22;
+                const real_t tmp_qloop_36 = tmp_qloop_17 + tmp_qloop_24*-4.0 - tmp_qloop_35;
+                const real_t tmp_qloop_37 = tmp_qloop_23 + tmp_qloop_25 + tmp_qloop_28 + tmp_qloop_31 + tmp_qloop_35 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                const real_t tmp_qloop_38 = tmp_qloop_21*wx_dof_6 + tmp_qloop_22*wx_dof_5 + tmp_qloop_23*wx_dof_4 + tmp_qloop_26*wx_dof_1 + tmp_qloop_29*wx_dof_2 + tmp_qloop_32*wx_dof_3 + tmp_qloop_33*wx_dof_7 + tmp_qloop_34*wx_dof_8 + tmp_qloop_36*wx_dof_9 + tmp_qloop_37*wx_dof_0;
+                const real_t tmp_qloop_39 = tmp_qloop_21*wy_dof_6 + tmp_qloop_22*wy_dof_5 + tmp_qloop_23*wy_dof_4 + tmp_qloop_26*wy_dof_1 + tmp_qloop_29*wy_dof_2 + tmp_qloop_32*wy_dof_3 + tmp_qloop_33*wy_dof_7 + tmp_qloop_34*wy_dof_8 + tmp_qloop_36*wy_dof_9 + tmp_qloop_37*wy_dof_0;
+                const real_t tmp_qloop_40 = tmp_qloop_21*wz_dof_6 + tmp_qloop_22*wz_dof_5 + tmp_qloop_23*wz_dof_4 + tmp_qloop_26*wz_dof_1 + tmp_qloop_29*wz_dof_2 + tmp_qloop_32*wz_dof_3 + tmp_qloop_33*wz_dof_7 + tmp_qloop_34*wz_dof_8 + tmp_qloop_36*wz_dof_9 + tmp_qloop_37*wz_dof_0;
+                const real_t tmp_qloop_41 = abs_det_jac_affine_BLUE_DOWN*(diffusivity_times_delta_dof_0*tmp_qloop_37 + diffusivity_times_delta_dof_1*tmp_qloop_26 + diffusivity_times_delta_dof_2*tmp_qloop_29 + diffusivity_times_delta_dof_3*tmp_qloop_32 + diffusivity_times_delta_dof_4*tmp_qloop_23 + diffusivity_times_delta_dof_5*tmp_qloop_22 + diffusivity_times_delta_dof_6*tmp_qloop_21 + diffusivity_times_delta_dof_7*tmp_qloop_33 + diffusivity_times_delta_dof_8*tmp_qloop_34 + diffusivity_times_delta_dof_9*tmp_qloop_36)*_data_q_w[q];
+                const real_t tmp_qloop_42 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_20 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_20 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_20) + tmp_qloop_39*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_20 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_20 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_20) + tmp_qloop_40*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_20 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_20 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_20));
+                const real_t tmp_qloop_61 = tmp_qloop_17 - 1.0;
+                const real_t tmp_qloop_62 = tmp_qloop_41*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_38*tmp_qloop_61 + jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_39*tmp_qloop_61 + jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_40*tmp_qloop_61);
+                const real_t tmp_qloop_63 = tmp_qloop_18 - 1.0;
+                const real_t tmp_qloop_64 = tmp_qloop_41*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_38*tmp_qloop_63 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_39*tmp_qloop_63 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_40*tmp_qloop_63);
+                const real_t tmp_qloop_65 = tmp_qloop_16 - 1.0;
+                const real_t tmp_qloop_66 = tmp_qloop_41*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_38*tmp_qloop_65 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_39*tmp_qloop_65 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_40*tmp_qloop_65);
+                const real_t tmp_qloop_67 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_68 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_69 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_70 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_71 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_72 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_73 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_67 + tmp_qloop_68) + tmp_qloop_39*(tmp_qloop_69 + tmp_qloop_70) + tmp_qloop_40*(tmp_qloop_71 + tmp_qloop_72));
+                const real_t tmp_qloop_74 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_75 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_76 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_77 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_78 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_79 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_80 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_74 + tmp_qloop_75) + tmp_qloop_39*(tmp_qloop_76 + tmp_qloop_77) + tmp_qloop_40*(tmp_qloop_78 + tmp_qloop_79));
+                const real_t tmp_qloop_81 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_82 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_83 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_84 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_85 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_86 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_87 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_81 + tmp_qloop_82) + tmp_qloop_39*(tmp_qloop_83 + tmp_qloop_84) + tmp_qloop_40*(tmp_qloop_85 + tmp_qloop_86));
+                const real_t tmp_qloop_88 = -tmp_qloop_19 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_89 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_88 - tmp_qloop_68 - tmp_qloop_75) + tmp_qloop_39*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_88 - tmp_qloop_70 - tmp_qloop_77) + tmp_qloop_40*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_88 - tmp_qloop_72 - tmp_qloop_79));
+                const real_t tmp_qloop_90 = tmp_qloop_16 - 4.0;
+                const real_t tmp_qloop_91 = -tmp_qloop_17 - tmp_qloop_90 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_92 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_91 - tmp_qloop_67 - tmp_qloop_82) + tmp_qloop_39*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_91 - tmp_qloop_69 - tmp_qloop_84) + tmp_qloop_40*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_91 - tmp_qloop_71 - tmp_qloop_86));
+                const real_t tmp_qloop_93 = -tmp_qloop_18 - tmp_qloop_90 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_94 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_93 - tmp_qloop_74 - tmp_qloop_81) + tmp_qloop_39*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_93 - tmp_qloop_76 - tmp_qloop_83) + tmp_qloop_40*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_93 - tmp_qloop_78 - tmp_qloop_85));
+                const real_t q_tmp_0_0 = tmp_moved_constant_83*tmp_qloop_42;
+                const real_t q_tmp_0_1 = tmp_moved_constant_84*tmp_qloop_42;
+                const real_t q_tmp_0_2 = tmp_moved_constant_85*tmp_qloop_42;
+                const real_t q_tmp_0_3 = tmp_moved_constant_86*tmp_qloop_42;
+                const real_t q_tmp_0_4 = tmp_moved_constant_90*tmp_qloop_42;
+                const real_t q_tmp_0_5 = tmp_moved_constant_91*tmp_qloop_42;
+                const real_t q_tmp_0_6 = tmp_moved_constant_95*tmp_qloop_42;
+                const real_t q_tmp_0_7 = tmp_moved_constant_98*tmp_qloop_42;
+                const real_t q_tmp_0_8 = tmp_moved_constant_100*tmp_qloop_42;
+                const real_t q_tmp_0_9 = tmp_moved_constant_101*tmp_qloop_42;
+                const real_t q_tmp_1_0 = tmp_moved_constant_83*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_moved_constant_84*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_moved_constant_85*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_moved_constant_86*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_moved_constant_90*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_moved_constant_91*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_moved_constant_95*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_moved_constant_98*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_moved_constant_100*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_moved_constant_101*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_moved_constant_83*tmp_qloop_64;
+                const real_t q_tmp_2_1 = tmp_moved_constant_84*tmp_qloop_64;
+                const real_t q_tmp_2_2 = tmp_moved_constant_85*tmp_qloop_64;
+                const real_t q_tmp_2_3 = tmp_moved_constant_86*tmp_qloop_64;
+                const real_t q_tmp_2_4 = tmp_moved_constant_90*tmp_qloop_64;
+                const real_t q_tmp_2_5 = tmp_moved_constant_91*tmp_qloop_64;
+                const real_t q_tmp_2_6 = tmp_moved_constant_95*tmp_qloop_64;
+                const real_t q_tmp_2_7 = tmp_moved_constant_98*tmp_qloop_64;
+                const real_t q_tmp_2_8 = tmp_moved_constant_100*tmp_qloop_64;
+                const real_t q_tmp_2_9 = tmp_moved_constant_101*tmp_qloop_64;
+                const real_t q_tmp_3_0 = tmp_moved_constant_83*tmp_qloop_66;
+                const real_t q_tmp_3_1 = tmp_moved_constant_84*tmp_qloop_66;
+                const real_t q_tmp_3_2 = tmp_moved_constant_85*tmp_qloop_66;
+                const real_t q_tmp_3_3 = tmp_moved_constant_86*tmp_qloop_66;
+                const real_t q_tmp_3_4 = tmp_moved_constant_90*tmp_qloop_66;
+                const real_t q_tmp_3_5 = tmp_moved_constant_91*tmp_qloop_66;
+                const real_t q_tmp_3_6 = tmp_moved_constant_95*tmp_qloop_66;
+                const real_t q_tmp_3_7 = tmp_moved_constant_98*tmp_qloop_66;
+                const real_t q_tmp_3_8 = tmp_moved_constant_100*tmp_qloop_66;
+                const real_t q_tmp_3_9 = tmp_moved_constant_101*tmp_qloop_66;
+                const real_t q_tmp_4_0 = tmp_moved_constant_83*tmp_qloop_73;
+                const real_t q_tmp_4_1 = tmp_moved_constant_84*tmp_qloop_73;
+                const real_t q_tmp_4_2 = tmp_moved_constant_85*tmp_qloop_73;
+                const real_t q_tmp_4_3 = tmp_moved_constant_86*tmp_qloop_73;
+                const real_t q_tmp_4_4 = tmp_moved_constant_90*tmp_qloop_73;
+                const real_t q_tmp_4_5 = tmp_moved_constant_91*tmp_qloop_73;
+                const real_t q_tmp_4_6 = tmp_moved_constant_95*tmp_qloop_73;
+                const real_t q_tmp_4_7 = tmp_moved_constant_98*tmp_qloop_73;
+                const real_t q_tmp_4_8 = tmp_moved_constant_100*tmp_qloop_73;
+                const real_t q_tmp_4_9 = tmp_moved_constant_101*tmp_qloop_73;
+                const real_t q_tmp_5_0 = tmp_moved_constant_83*tmp_qloop_80;
+                const real_t q_tmp_5_1 = tmp_moved_constant_84*tmp_qloop_80;
+                const real_t q_tmp_5_2 = tmp_moved_constant_85*tmp_qloop_80;
+                const real_t q_tmp_5_3 = tmp_moved_constant_86*tmp_qloop_80;
+                const real_t q_tmp_5_4 = tmp_moved_constant_90*tmp_qloop_80;
+                const real_t q_tmp_5_5 = tmp_moved_constant_91*tmp_qloop_80;
+                const real_t q_tmp_5_6 = tmp_moved_constant_95*tmp_qloop_80;
+                const real_t q_tmp_5_7 = tmp_moved_constant_98*tmp_qloop_80;
+                const real_t q_tmp_5_8 = tmp_moved_constant_100*tmp_qloop_80;
+                const real_t q_tmp_5_9 = tmp_moved_constant_101*tmp_qloop_80;
+                const real_t q_tmp_6_0 = tmp_moved_constant_83*tmp_qloop_87;
+                const real_t q_tmp_6_1 = tmp_moved_constant_84*tmp_qloop_87;
+                const real_t q_tmp_6_2 = tmp_moved_constant_85*tmp_qloop_87;
+                const real_t q_tmp_6_3 = tmp_moved_constant_86*tmp_qloop_87;
+                const real_t q_tmp_6_4 = tmp_moved_constant_90*tmp_qloop_87;
+                const real_t q_tmp_6_5 = tmp_moved_constant_91*tmp_qloop_87;
+                const real_t q_tmp_6_6 = tmp_moved_constant_95*tmp_qloop_87;
+                const real_t q_tmp_6_7 = tmp_moved_constant_98*tmp_qloop_87;
+                const real_t q_tmp_6_8 = tmp_moved_constant_100*tmp_qloop_87;
+                const real_t q_tmp_6_9 = tmp_moved_constant_101*tmp_qloop_87;
+                const real_t q_tmp_7_0 = tmp_moved_constant_83*tmp_qloop_89;
+                const real_t q_tmp_7_1 = tmp_moved_constant_84*tmp_qloop_89;
+                const real_t q_tmp_7_2 = tmp_moved_constant_85*tmp_qloop_89;
+                const real_t q_tmp_7_3 = tmp_moved_constant_86*tmp_qloop_89;
+                const real_t q_tmp_7_4 = tmp_moved_constant_90*tmp_qloop_89;
+                const real_t q_tmp_7_5 = tmp_moved_constant_91*tmp_qloop_89;
+                const real_t q_tmp_7_6 = tmp_moved_constant_95*tmp_qloop_89;
+                const real_t q_tmp_7_7 = tmp_moved_constant_98*tmp_qloop_89;
+                const real_t q_tmp_7_8 = tmp_moved_constant_100*tmp_qloop_89;
+                const real_t q_tmp_7_9 = tmp_moved_constant_101*tmp_qloop_89;
+                const real_t q_tmp_8_0 = tmp_moved_constant_83*tmp_qloop_92;
+                const real_t q_tmp_8_1 = tmp_moved_constant_84*tmp_qloop_92;
+                const real_t q_tmp_8_2 = tmp_moved_constant_85*tmp_qloop_92;
+                const real_t q_tmp_8_3 = tmp_moved_constant_86*tmp_qloop_92;
+                const real_t q_tmp_8_4 = tmp_moved_constant_90*tmp_qloop_92;
+                const real_t q_tmp_8_5 = tmp_moved_constant_91*tmp_qloop_92;
+                const real_t q_tmp_8_6 = tmp_moved_constant_95*tmp_qloop_92;
+                const real_t q_tmp_8_7 = tmp_moved_constant_98*tmp_qloop_92;
+                const real_t q_tmp_8_8 = tmp_moved_constant_100*tmp_qloop_92;
+                const real_t q_tmp_8_9 = tmp_moved_constant_101*tmp_qloop_92;
+                const real_t q_tmp_9_0 = tmp_moved_constant_83*tmp_qloop_94;
+                const real_t q_tmp_9_1 = tmp_moved_constant_84*tmp_qloop_94;
+                const real_t q_tmp_9_2 = tmp_moved_constant_85*tmp_qloop_94;
+                const real_t q_tmp_9_3 = tmp_moved_constant_86*tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_moved_constant_90*tmp_qloop_94;
+                const real_t q_tmp_9_5 = tmp_moved_constant_91*tmp_qloop_94;
+                const real_t q_tmp_9_6 = tmp_moved_constant_95*tmp_qloop_94;
+                const real_t q_tmp_9_7 = tmp_moved_constant_98*tmp_qloop_94;
+                const real_t q_tmp_9_8 = tmp_moved_constant_100*tmp_qloop_94;
+                const real_t q_tmp_9_9 = tmp_moved_constant_101*tmp_qloop_94;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMat_4_0 = q_acc_4_0;
+             const real_t elMat_4_1 = q_acc_4_1;
+             const real_t elMat_4_2 = q_acc_4_2;
+             const real_t elMat_4_3 = q_acc_4_3;
+             const real_t elMat_4_4 = q_acc_4_4;
+             const real_t elMat_4_5 = q_acc_4_5;
+             const real_t elMat_4_6 = q_acc_4_6;
+             const real_t elMat_4_7 = q_acc_4_7;
+             const real_t elMat_4_8 = q_acc_4_8;
+             const real_t elMat_4_9 = q_acc_4_9;
+             const real_t elMat_5_0 = q_acc_5_0;
+             const real_t elMat_5_1 = q_acc_5_1;
+             const real_t elMat_5_2 = q_acc_5_2;
+             const real_t elMat_5_3 = q_acc_5_3;
+             const real_t elMat_5_4 = q_acc_5_4;
+             const real_t elMat_5_5 = q_acc_5_5;
+             const real_t elMat_5_6 = q_acc_5_6;
+             const real_t elMat_5_7 = q_acc_5_7;
+             const real_t elMat_5_8 = q_acc_5_8;
+             const real_t elMat_5_9 = q_acc_5_9;
+             const real_t elMat_6_0 = q_acc_6_0;
+             const real_t elMat_6_1 = q_acc_6_1;
+             const real_t elMat_6_2 = q_acc_6_2;
+             const real_t elMat_6_3 = q_acc_6_3;
+             const real_t elMat_6_4 = q_acc_6_4;
+             const real_t elMat_6_5 = q_acc_6_5;
+             const real_t elMat_6_6 = q_acc_6_6;
+             const real_t elMat_6_7 = q_acc_6_7;
+             const real_t elMat_6_8 = q_acc_6_8;
+             const real_t elMat_6_9 = q_acc_6_9;
+             const real_t elMat_7_0 = q_acc_7_0;
+             const real_t elMat_7_1 = q_acc_7_1;
+             const real_t elMat_7_2 = q_acc_7_2;
+             const real_t elMat_7_3 = q_acc_7_3;
+             const real_t elMat_7_4 = q_acc_7_4;
+             const real_t elMat_7_5 = q_acc_7_5;
+             const real_t elMat_7_6 = q_acc_7_6;
+             const real_t elMat_7_7 = q_acc_7_7;
+             const real_t elMat_7_8 = q_acc_7_8;
+             const real_t elMat_7_9 = q_acc_7_9;
+             const real_t elMat_8_0 = q_acc_8_0;
+             const real_t elMat_8_1 = q_acc_8_1;
+             const real_t elMat_8_2 = q_acc_8_2;
+             const real_t elMat_8_3 = q_acc_8_3;
+             const real_t elMat_8_4 = q_acc_8_4;
+             const real_t elMat_8_5 = q_acc_8_5;
+             const real_t elMat_8_6 = q_acc_8_6;
+             const real_t elMat_8_7 = q_acc_8_7;
+             const real_t elMat_8_8 = q_acc_8_8;
+             const real_t elMat_8_9 = q_acc_8_9;
+             const real_t elMat_9_0 = q_acc_9_0;
+             const real_t elMat_9_1 = q_acc_9_1;
+             const real_t elMat_9_2 = q_acc_9_2;
+             const real_t elMat_9_3 = q_acc_9_3;
+             const real_t elMat_9_4 = q_acc_9_4;
+             const real_t elMat_9_5 = q_acc_9_5;
+             const real_t elMat_9_6 = q_acc_9_6;
+             const real_t elMat_9_7 = q_acc_9_7;
+             const real_t elMat_9_8 = q_acc_9_8;
+             const real_t elMat_9_9 = q_acc_9_9;
+         
+             std::vector< uint_t > _data_rowIdx( 10 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 100 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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[4] = ((uint64_t)(_data_dstEdge[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_rowIdx[5] = ((uint64_t)(_data_dstEdge[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_rowIdx[6] = ((uint64_t)(_data_dstEdge[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_rowIdx[7] = ((uint64_t)(_data_dstEdge[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_rowIdx[8] = ((uint64_t)(_data_dstEdge[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_rowIdx[9] = ((uint64_t)(_data_dstEdge[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[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));
+             _data_mat[40] = ((real_t)(elMat_4_0));
+             _data_mat[41] = ((real_t)(elMat_4_1));
+             _data_mat[42] = ((real_t)(elMat_4_2));
+             _data_mat[43] = ((real_t)(elMat_4_3));
+             _data_mat[44] = ((real_t)(elMat_4_4));
+             _data_mat[45] = ((real_t)(elMat_4_5));
+             _data_mat[46] = ((real_t)(elMat_4_6));
+             _data_mat[47] = ((real_t)(elMat_4_7));
+             _data_mat[48] = ((real_t)(elMat_4_8));
+             _data_mat[49] = ((real_t)(elMat_4_9));
+             _data_mat[50] = ((real_t)(elMat_5_0));
+             _data_mat[51] = ((real_t)(elMat_5_1));
+             _data_mat[52] = ((real_t)(elMat_5_2));
+             _data_mat[53] = ((real_t)(elMat_5_3));
+             _data_mat[54] = ((real_t)(elMat_5_4));
+             _data_mat[55] = ((real_t)(elMat_5_5));
+             _data_mat[56] = ((real_t)(elMat_5_6));
+             _data_mat[57] = ((real_t)(elMat_5_7));
+             _data_mat[58] = ((real_t)(elMat_5_8));
+             _data_mat[59] = ((real_t)(elMat_5_9));
+             _data_mat[60] = ((real_t)(elMat_6_0));
+             _data_mat[61] = ((real_t)(elMat_6_1));
+             _data_mat[62] = ((real_t)(elMat_6_2));
+             _data_mat[63] = ((real_t)(elMat_6_3));
+             _data_mat[64] = ((real_t)(elMat_6_4));
+             _data_mat[65] = ((real_t)(elMat_6_5));
+             _data_mat[66] = ((real_t)(elMat_6_6));
+             _data_mat[67] = ((real_t)(elMat_6_7));
+             _data_mat[68] = ((real_t)(elMat_6_8));
+             _data_mat[69] = ((real_t)(elMat_6_9));
+             _data_mat[70] = ((real_t)(elMat_7_0));
+             _data_mat[71] = ((real_t)(elMat_7_1));
+             _data_mat[72] = ((real_t)(elMat_7_2));
+             _data_mat[73] = ((real_t)(elMat_7_3));
+             _data_mat[74] = ((real_t)(elMat_7_4));
+             _data_mat[75] = ((real_t)(elMat_7_5));
+             _data_mat[76] = ((real_t)(elMat_7_6));
+             _data_mat[77] = ((real_t)(elMat_7_7));
+             _data_mat[78] = ((real_t)(elMat_7_8));
+             _data_mat[79] = ((real_t)(elMat_7_9));
+             _data_mat[80] = ((real_t)(elMat_8_0));
+             _data_mat[81] = ((real_t)(elMat_8_1));
+             _data_mat[82] = ((real_t)(elMat_8_2));
+             _data_mat[83] = ((real_t)(elMat_8_3));
+             _data_mat[84] = ((real_t)(elMat_8_4));
+             _data_mat[85] = ((real_t)(elMat_8_5));
+             _data_mat[86] = ((real_t)(elMat_8_6));
+             _data_mat[87] = ((real_t)(elMat_8_7));
+             _data_mat[88] = ((real_t)(elMat_8_8));
+             _data_mat[89] = ((real_t)(elMat_8_9));
+             _data_mat[90] = ((real_t)(elMat_9_0));
+             _data_mat[91] = ((real_t)(elMat_9_1));
+             _data_mat[92] = ((real_t)(elMat_9_2));
+             _data_mat[93] = ((real_t)(elMat_9_3));
+             _data_mat[94] = ((real_t)(elMat_9_4));
+             _data_mat[95] = ((real_t)(elMat_9_5));
+             _data_mat[96] = ((real_t)(elMat_9_6));
+             _data_mat[97] = ((real_t)(elMat_9_7));
+             _data_mat[98] = ((real_t)(elMat_9_8));
+             _data_mat[99] = ((real_t)(elMat_9_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 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_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 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_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 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_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 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP;
+       const real_t tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP;
+       const real_t tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP);
+       const real_t jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP);
+       const real_t jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP);
+       const real_t jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP);
+       const real_t jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       const real_t jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP);
+       const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP);
+       const real_t tmp_moved_constant_102 = jac_affine_inv_2_0_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_103 = jac_affine_inv_0_0_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_104 = jac_affine_inv_1_0_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_105 = tmp_moved_constant_103 + tmp_moved_constant_104;
+       const real_t tmp_moved_constant_106 = tmp_moved_constant_102 + tmp_moved_constant_105;
+       const real_t tmp_moved_constant_107 = jac_affine_inv_2_1_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_108 = jac_affine_inv_0_1_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_109 = jac_affine_inv_1_1_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_110 = tmp_moved_constant_108 + tmp_moved_constant_109;
+       const real_t tmp_moved_constant_111 = tmp_moved_constant_107 + tmp_moved_constant_110;
+       const real_t tmp_moved_constant_112 = jac_affine_inv_2_2_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_113 = jac_affine_inv_0_2_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_114 = jac_affine_inv_1_2_GREEN_UP*4.0;
+       const real_t tmp_moved_constant_115 = tmp_moved_constant_113 + tmp_moved_constant_114;
+       const real_t tmp_moved_constant_116 = tmp_moved_constant_112 + tmp_moved_constant_115;
+       const real_t tmp_moved_constant_117 = jac_affine_inv_0_0_GREEN_UP*tmp_moved_constant_106 + jac_affine_inv_0_1_GREEN_UP*tmp_moved_constant_111 + jac_affine_inv_0_2_GREEN_UP*tmp_moved_constant_116 + jac_affine_inv_1_0_GREEN_UP*tmp_moved_constant_106 + jac_affine_inv_1_1_GREEN_UP*tmp_moved_constant_111 + jac_affine_inv_1_2_GREEN_UP*tmp_moved_constant_116 + jac_affine_inv_2_0_GREEN_UP*tmp_moved_constant_106 + jac_affine_inv_2_1_GREEN_UP*tmp_moved_constant_111 + jac_affine_inv_2_2_GREEN_UP*tmp_moved_constant_116;
+       const real_t tmp_moved_constant_118 = (jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP)*4.0 + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP)*4.0 + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)*4.0;
+       const real_t tmp_moved_constant_119 = (jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP)*4.0 + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP)*4.0 + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)*4.0;
+       const real_t tmp_moved_constant_120 = (jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP)*4.0 + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP)*4.0 + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)*4.0;
+       const real_t tmp_moved_constant_121 = jac_affine_inv_2_0_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_122 = jac_affine_inv_2_1_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_123 = jac_affine_inv_2_2_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_124 = jac_affine_inv_1_0_GREEN_UP*tmp_moved_constant_121 + jac_affine_inv_1_1_GREEN_UP*tmp_moved_constant_122 + jac_affine_inv_1_2_GREEN_UP*tmp_moved_constant_123;
+       const real_t tmp_moved_constant_125 = jac_affine_inv_0_0_GREEN_UP*tmp_moved_constant_121 + jac_affine_inv_0_1_GREEN_UP*tmp_moved_constant_122 + jac_affine_inv_0_2_GREEN_UP*tmp_moved_constant_123;
+       const real_t tmp_moved_constant_126 = jac_affine_inv_1_0_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_127 = jac_affine_inv_1_1_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_128 = jac_affine_inv_1_2_GREEN_UP*8.0;
+       const real_t tmp_moved_constant_129 = jac_affine_inv_0_0_GREEN_UP*tmp_moved_constant_126 + jac_affine_inv_0_1_GREEN_UP*tmp_moved_constant_127 + jac_affine_inv_0_2_GREEN_UP*tmp_moved_constant_128;
+       const real_t tmp_moved_constant_130 = jac_affine_inv_2_0_GREEN_UP*tmp_moved_constant_104 + jac_affine_inv_2_1_GREEN_UP*tmp_moved_constant_109 + jac_affine_inv_2_2_GREEN_UP*tmp_moved_constant_114;
+       const real_t tmp_moved_constant_131 = jac_affine_inv_2_0_GREEN_UP*tmp_moved_constant_103 + jac_affine_inv_2_1_GREEN_UP*tmp_moved_constant_108 + jac_affine_inv_2_2_GREEN_UP*tmp_moved_constant_113;
+       const real_t tmp_moved_constant_132 = jac_affine_inv_2_0_GREEN_UP*(-tmp_moved_constant_105 - tmp_moved_constant_121) + jac_affine_inv_2_1_GREEN_UP*(-tmp_moved_constant_110 - tmp_moved_constant_122) + jac_affine_inv_2_2_GREEN_UP*(-tmp_moved_constant_115 - tmp_moved_constant_123) - tmp_moved_constant_130 - tmp_moved_constant_131;
+       const real_t tmp_moved_constant_133 = jac_affine_inv_1_0_GREEN_UP*tmp_moved_constant_103 + jac_affine_inv_1_1_GREEN_UP*tmp_moved_constant_108 + jac_affine_inv_1_2_GREEN_UP*tmp_moved_constant_113;
+       const real_t tmp_moved_constant_134 = jac_affine_inv_1_0_GREEN_UP*(-tmp_moved_constant_102 - tmp_moved_constant_103 - tmp_moved_constant_126) + jac_affine_inv_1_1_GREEN_UP*(-tmp_moved_constant_107 - tmp_moved_constant_108 - tmp_moved_constant_127) + jac_affine_inv_1_2_GREEN_UP*(-tmp_moved_constant_112 - tmp_moved_constant_113 - tmp_moved_constant_128) - tmp_moved_constant_130 - tmp_moved_constant_133;
+       const real_t tmp_moved_constant_135 = jac_affine_inv_0_0_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*-8.0 - tmp_moved_constant_102 - tmp_moved_constant_104) + jac_affine_inv_0_1_GREEN_UP*(jac_affine_inv_0_1_GREEN_UP*-8.0 - tmp_moved_constant_107 - tmp_moved_constant_109) + jac_affine_inv_0_2_GREEN_UP*(jac_affine_inv_0_2_GREEN_UP*-8.0 - tmp_moved_constant_112 - tmp_moved_constant_114) - tmp_moved_constant_131 - tmp_moved_constant_133;
+       {
+          /* CellType.GREEN_UP */
+          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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_16 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_17 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_18 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18;
+                const real_t tmp_qloop_20 = tmp_qloop_16 + tmp_qloop_19 - 3.0;
+                const real_t tmp_qloop_21 = tmp_qloop_17*_data_q_p_1[q];
+                const real_t tmp_qloop_22 = tmp_qloop_17*_data_q_p_2[q];
+                const real_t tmp_qloop_23 = tmp_qloop_18*_data_q_p_2[q];
+                const real_t tmp_qloop_24 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_25 = tmp_qloop_24*2.0;
+                const real_t tmp_qloop_26 = tmp_qloop_25 - _data_q_p_0[q];
+                const real_t tmp_qloop_27 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_28 = tmp_qloop_27*2.0;
+                const real_t tmp_qloop_29 = tmp_qloop_28 - _data_q_p_1[q];
+                const real_t tmp_qloop_30 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_31 = tmp_qloop_30*2.0;
+                const real_t tmp_qloop_32 = tmp_qloop_31 - _data_q_p_2[q];
+                const real_t tmp_qloop_33 = tmp_qloop_16 - tmp_qloop_22 - tmp_qloop_23 + tmp_qloop_30*-4.0;
+                const real_t tmp_qloop_34 = tmp_qloop_18 - tmp_qloop_21 - tmp_qloop_23 + tmp_qloop_27*-4.0;
+                const real_t tmp_qloop_35 = tmp_qloop_21 + tmp_qloop_22;
+                const real_t tmp_qloop_36 = tmp_qloop_17 + tmp_qloop_24*-4.0 - tmp_qloop_35;
+                const real_t tmp_qloop_37 = tmp_qloop_23 + tmp_qloop_25 + tmp_qloop_28 + tmp_qloop_31 + tmp_qloop_35 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                const real_t tmp_qloop_38 = tmp_qloop_21*wx_dof_6 + tmp_qloop_22*wx_dof_5 + tmp_qloop_23*wx_dof_4 + tmp_qloop_26*wx_dof_1 + tmp_qloop_29*wx_dof_2 + tmp_qloop_32*wx_dof_3 + tmp_qloop_33*wx_dof_7 + tmp_qloop_34*wx_dof_8 + tmp_qloop_36*wx_dof_9 + tmp_qloop_37*wx_dof_0;
+                const real_t tmp_qloop_39 = tmp_qloop_21*wy_dof_6 + tmp_qloop_22*wy_dof_5 + tmp_qloop_23*wy_dof_4 + tmp_qloop_26*wy_dof_1 + tmp_qloop_29*wy_dof_2 + tmp_qloop_32*wy_dof_3 + tmp_qloop_33*wy_dof_7 + tmp_qloop_34*wy_dof_8 + tmp_qloop_36*wy_dof_9 + tmp_qloop_37*wy_dof_0;
+                const real_t tmp_qloop_40 = tmp_qloop_21*wz_dof_6 + tmp_qloop_22*wz_dof_5 + tmp_qloop_23*wz_dof_4 + tmp_qloop_26*wz_dof_1 + tmp_qloop_29*wz_dof_2 + tmp_qloop_32*wz_dof_3 + tmp_qloop_33*wz_dof_7 + tmp_qloop_34*wz_dof_8 + tmp_qloop_36*wz_dof_9 + tmp_qloop_37*wz_dof_0;
+                const real_t tmp_qloop_41 = abs_det_jac_affine_GREEN_UP*(diffusivity_times_delta_dof_0*tmp_qloop_37 + diffusivity_times_delta_dof_1*tmp_qloop_26 + diffusivity_times_delta_dof_2*tmp_qloop_29 + diffusivity_times_delta_dof_3*tmp_qloop_32 + diffusivity_times_delta_dof_4*tmp_qloop_23 + diffusivity_times_delta_dof_5*tmp_qloop_22 + diffusivity_times_delta_dof_6*tmp_qloop_21 + diffusivity_times_delta_dof_7*tmp_qloop_33 + diffusivity_times_delta_dof_8*tmp_qloop_34 + diffusivity_times_delta_dof_9*tmp_qloop_36)*_data_q_w[q];
+                const real_t tmp_qloop_42 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_20 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_20 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_20) + tmp_qloop_39*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_20 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_20 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_20) + tmp_qloop_40*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_20 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_20 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_20));
+                const real_t tmp_qloop_61 = tmp_qloop_17 - 1.0;
+                const real_t tmp_qloop_62 = tmp_qloop_41*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_38*tmp_qloop_61 + jac_affine_inv_0_1_GREEN_UP*tmp_qloop_39*tmp_qloop_61 + jac_affine_inv_0_2_GREEN_UP*tmp_qloop_40*tmp_qloop_61);
+                const real_t tmp_qloop_63 = tmp_qloop_18 - 1.0;
+                const real_t tmp_qloop_64 = tmp_qloop_41*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_38*tmp_qloop_63 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_39*tmp_qloop_63 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_40*tmp_qloop_63);
+                const real_t tmp_qloop_65 = tmp_qloop_16 - 1.0;
+                const real_t tmp_qloop_66 = tmp_qloop_41*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_38*tmp_qloop_65 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_39*tmp_qloop_65 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_40*tmp_qloop_65);
+                const real_t tmp_qloop_67 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_18;
+                const real_t tmp_qloop_68 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_16;
+                const real_t tmp_qloop_69 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_18;
+                const real_t tmp_qloop_70 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_16;
+                const real_t tmp_qloop_71 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_18;
+                const real_t tmp_qloop_72 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_16;
+                const real_t tmp_qloop_73 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_67 + tmp_qloop_68) + tmp_qloop_39*(tmp_qloop_69 + tmp_qloop_70) + tmp_qloop_40*(tmp_qloop_71 + tmp_qloop_72));
+                const real_t tmp_qloop_74 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_17;
+                const real_t tmp_qloop_75 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_16;
+                const real_t tmp_qloop_76 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_17;
+                const real_t tmp_qloop_77 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_16;
+                const real_t tmp_qloop_78 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_17;
+                const real_t tmp_qloop_79 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_16;
+                const real_t tmp_qloop_80 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_74 + tmp_qloop_75) + tmp_qloop_39*(tmp_qloop_76 + tmp_qloop_77) + tmp_qloop_40*(tmp_qloop_78 + tmp_qloop_79));
+                const real_t tmp_qloop_81 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_17;
+                const real_t tmp_qloop_82 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_18;
+                const real_t tmp_qloop_83 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_17;
+                const real_t tmp_qloop_84 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_18;
+                const real_t tmp_qloop_85 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_17;
+                const real_t tmp_qloop_86 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_18;
+                const real_t tmp_qloop_87 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_81 + tmp_qloop_82) + tmp_qloop_39*(tmp_qloop_83 + tmp_qloop_84) + tmp_qloop_40*(tmp_qloop_85 + tmp_qloop_86));
+                const real_t tmp_qloop_88 = -tmp_qloop_19 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_89 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_88 - tmp_qloop_68 - tmp_qloop_75) + tmp_qloop_39*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_88 - tmp_qloop_70 - tmp_qloop_77) + tmp_qloop_40*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_88 - tmp_qloop_72 - tmp_qloop_79));
+                const real_t tmp_qloop_90 = tmp_qloop_16 - 4.0;
+                const real_t tmp_qloop_91 = -tmp_qloop_17 - tmp_qloop_90 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_92 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_91 - tmp_qloop_67 - tmp_qloop_82) + tmp_qloop_39*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_91 - tmp_qloop_69 - tmp_qloop_84) + tmp_qloop_40*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_91 - tmp_qloop_71 - tmp_qloop_86));
+                const real_t tmp_qloop_93 = -tmp_qloop_18 - tmp_qloop_90 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_94 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_93 - tmp_qloop_74 - tmp_qloop_81) + tmp_qloop_39*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_93 - tmp_qloop_76 - tmp_qloop_83) + tmp_qloop_40*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_93 - tmp_qloop_78 - tmp_qloop_85));
+                const real_t q_tmp_0_0 = tmp_moved_constant_117*tmp_qloop_42;
+                const real_t q_tmp_0_1 = tmp_moved_constant_118*tmp_qloop_42;
+                const real_t q_tmp_0_2 = tmp_moved_constant_119*tmp_qloop_42;
+                const real_t q_tmp_0_3 = tmp_moved_constant_120*tmp_qloop_42;
+                const real_t q_tmp_0_4 = tmp_moved_constant_124*tmp_qloop_42;
+                const real_t q_tmp_0_5 = tmp_moved_constant_125*tmp_qloop_42;
+                const real_t q_tmp_0_6 = tmp_moved_constant_129*tmp_qloop_42;
+                const real_t q_tmp_0_7 = tmp_moved_constant_132*tmp_qloop_42;
+                const real_t q_tmp_0_8 = tmp_moved_constant_134*tmp_qloop_42;
+                const real_t q_tmp_0_9 = tmp_moved_constant_135*tmp_qloop_42;
+                const real_t q_tmp_1_0 = tmp_moved_constant_117*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_moved_constant_118*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_moved_constant_119*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_moved_constant_120*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_moved_constant_124*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_moved_constant_125*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_moved_constant_129*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_moved_constant_132*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_moved_constant_134*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_moved_constant_135*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_moved_constant_117*tmp_qloop_64;
+                const real_t q_tmp_2_1 = tmp_moved_constant_118*tmp_qloop_64;
+                const real_t q_tmp_2_2 = tmp_moved_constant_119*tmp_qloop_64;
+                const real_t q_tmp_2_3 = tmp_moved_constant_120*tmp_qloop_64;
+                const real_t q_tmp_2_4 = tmp_moved_constant_124*tmp_qloop_64;
+                const real_t q_tmp_2_5 = tmp_moved_constant_125*tmp_qloop_64;
+                const real_t q_tmp_2_6 = tmp_moved_constant_129*tmp_qloop_64;
+                const real_t q_tmp_2_7 = tmp_moved_constant_132*tmp_qloop_64;
+                const real_t q_tmp_2_8 = tmp_moved_constant_134*tmp_qloop_64;
+                const real_t q_tmp_2_9 = tmp_moved_constant_135*tmp_qloop_64;
+                const real_t q_tmp_3_0 = tmp_moved_constant_117*tmp_qloop_66;
+                const real_t q_tmp_3_1 = tmp_moved_constant_118*tmp_qloop_66;
+                const real_t q_tmp_3_2 = tmp_moved_constant_119*tmp_qloop_66;
+                const real_t q_tmp_3_3 = tmp_moved_constant_120*tmp_qloop_66;
+                const real_t q_tmp_3_4 = tmp_moved_constant_124*tmp_qloop_66;
+                const real_t q_tmp_3_5 = tmp_moved_constant_125*tmp_qloop_66;
+                const real_t q_tmp_3_6 = tmp_moved_constant_129*tmp_qloop_66;
+                const real_t q_tmp_3_7 = tmp_moved_constant_132*tmp_qloop_66;
+                const real_t q_tmp_3_8 = tmp_moved_constant_134*tmp_qloop_66;
+                const real_t q_tmp_3_9 = tmp_moved_constant_135*tmp_qloop_66;
+                const real_t q_tmp_4_0 = tmp_moved_constant_117*tmp_qloop_73;
+                const real_t q_tmp_4_1 = tmp_moved_constant_118*tmp_qloop_73;
+                const real_t q_tmp_4_2 = tmp_moved_constant_119*tmp_qloop_73;
+                const real_t q_tmp_4_3 = tmp_moved_constant_120*tmp_qloop_73;
+                const real_t q_tmp_4_4 = tmp_moved_constant_124*tmp_qloop_73;
+                const real_t q_tmp_4_5 = tmp_moved_constant_125*tmp_qloop_73;
+                const real_t q_tmp_4_6 = tmp_moved_constant_129*tmp_qloop_73;
+                const real_t q_tmp_4_7 = tmp_moved_constant_132*tmp_qloop_73;
+                const real_t q_tmp_4_8 = tmp_moved_constant_134*tmp_qloop_73;
+                const real_t q_tmp_4_9 = tmp_moved_constant_135*tmp_qloop_73;
+                const real_t q_tmp_5_0 = tmp_moved_constant_117*tmp_qloop_80;
+                const real_t q_tmp_5_1 = tmp_moved_constant_118*tmp_qloop_80;
+                const real_t q_tmp_5_2 = tmp_moved_constant_119*tmp_qloop_80;
+                const real_t q_tmp_5_3 = tmp_moved_constant_120*tmp_qloop_80;
+                const real_t q_tmp_5_4 = tmp_moved_constant_124*tmp_qloop_80;
+                const real_t q_tmp_5_5 = tmp_moved_constant_125*tmp_qloop_80;
+                const real_t q_tmp_5_6 = tmp_moved_constant_129*tmp_qloop_80;
+                const real_t q_tmp_5_7 = tmp_moved_constant_132*tmp_qloop_80;
+                const real_t q_tmp_5_8 = tmp_moved_constant_134*tmp_qloop_80;
+                const real_t q_tmp_5_9 = tmp_moved_constant_135*tmp_qloop_80;
+                const real_t q_tmp_6_0 = tmp_moved_constant_117*tmp_qloop_87;
+                const real_t q_tmp_6_1 = tmp_moved_constant_118*tmp_qloop_87;
+                const real_t q_tmp_6_2 = tmp_moved_constant_119*tmp_qloop_87;
+                const real_t q_tmp_6_3 = tmp_moved_constant_120*tmp_qloop_87;
+                const real_t q_tmp_6_4 = tmp_moved_constant_124*tmp_qloop_87;
+                const real_t q_tmp_6_5 = tmp_moved_constant_125*tmp_qloop_87;
+                const real_t q_tmp_6_6 = tmp_moved_constant_129*tmp_qloop_87;
+                const real_t q_tmp_6_7 = tmp_moved_constant_132*tmp_qloop_87;
+                const real_t q_tmp_6_8 = tmp_moved_constant_134*tmp_qloop_87;
+                const real_t q_tmp_6_9 = tmp_moved_constant_135*tmp_qloop_87;
+                const real_t q_tmp_7_0 = tmp_moved_constant_117*tmp_qloop_89;
+                const real_t q_tmp_7_1 = tmp_moved_constant_118*tmp_qloop_89;
+                const real_t q_tmp_7_2 = tmp_moved_constant_119*tmp_qloop_89;
+                const real_t q_tmp_7_3 = tmp_moved_constant_120*tmp_qloop_89;
+                const real_t q_tmp_7_4 = tmp_moved_constant_124*tmp_qloop_89;
+                const real_t q_tmp_7_5 = tmp_moved_constant_125*tmp_qloop_89;
+                const real_t q_tmp_7_6 = tmp_moved_constant_129*tmp_qloop_89;
+                const real_t q_tmp_7_7 = tmp_moved_constant_132*tmp_qloop_89;
+                const real_t q_tmp_7_8 = tmp_moved_constant_134*tmp_qloop_89;
+                const real_t q_tmp_7_9 = tmp_moved_constant_135*tmp_qloop_89;
+                const real_t q_tmp_8_0 = tmp_moved_constant_117*tmp_qloop_92;
+                const real_t q_tmp_8_1 = tmp_moved_constant_118*tmp_qloop_92;
+                const real_t q_tmp_8_2 = tmp_moved_constant_119*tmp_qloop_92;
+                const real_t q_tmp_8_3 = tmp_moved_constant_120*tmp_qloop_92;
+                const real_t q_tmp_8_4 = tmp_moved_constant_124*tmp_qloop_92;
+                const real_t q_tmp_8_5 = tmp_moved_constant_125*tmp_qloop_92;
+                const real_t q_tmp_8_6 = tmp_moved_constant_129*tmp_qloop_92;
+                const real_t q_tmp_8_7 = tmp_moved_constant_132*tmp_qloop_92;
+                const real_t q_tmp_8_8 = tmp_moved_constant_134*tmp_qloop_92;
+                const real_t q_tmp_8_9 = tmp_moved_constant_135*tmp_qloop_92;
+                const real_t q_tmp_9_0 = tmp_moved_constant_117*tmp_qloop_94;
+                const real_t q_tmp_9_1 = tmp_moved_constant_118*tmp_qloop_94;
+                const real_t q_tmp_9_2 = tmp_moved_constant_119*tmp_qloop_94;
+                const real_t q_tmp_9_3 = tmp_moved_constant_120*tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_moved_constant_124*tmp_qloop_94;
+                const real_t q_tmp_9_5 = tmp_moved_constant_125*tmp_qloop_94;
+                const real_t q_tmp_9_6 = tmp_moved_constant_129*tmp_qloop_94;
+                const real_t q_tmp_9_7 = tmp_moved_constant_132*tmp_qloop_94;
+                const real_t q_tmp_9_8 = tmp_moved_constant_134*tmp_qloop_94;
+                const real_t q_tmp_9_9 = tmp_moved_constant_135*tmp_qloop_94;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMat_4_0 = q_acc_4_0;
+             const real_t elMat_4_1 = q_acc_4_1;
+             const real_t elMat_4_2 = q_acc_4_2;
+             const real_t elMat_4_3 = q_acc_4_3;
+             const real_t elMat_4_4 = q_acc_4_4;
+             const real_t elMat_4_5 = q_acc_4_5;
+             const real_t elMat_4_6 = q_acc_4_6;
+             const real_t elMat_4_7 = q_acc_4_7;
+             const real_t elMat_4_8 = q_acc_4_8;
+             const real_t elMat_4_9 = q_acc_4_9;
+             const real_t elMat_5_0 = q_acc_5_0;
+             const real_t elMat_5_1 = q_acc_5_1;
+             const real_t elMat_5_2 = q_acc_5_2;
+             const real_t elMat_5_3 = q_acc_5_3;
+             const real_t elMat_5_4 = q_acc_5_4;
+             const real_t elMat_5_5 = q_acc_5_5;
+             const real_t elMat_5_6 = q_acc_5_6;
+             const real_t elMat_5_7 = q_acc_5_7;
+             const real_t elMat_5_8 = q_acc_5_8;
+             const real_t elMat_5_9 = q_acc_5_9;
+             const real_t elMat_6_0 = q_acc_6_0;
+             const real_t elMat_6_1 = q_acc_6_1;
+             const real_t elMat_6_2 = q_acc_6_2;
+             const real_t elMat_6_3 = q_acc_6_3;
+             const real_t elMat_6_4 = q_acc_6_4;
+             const real_t elMat_6_5 = q_acc_6_5;
+             const real_t elMat_6_6 = q_acc_6_6;
+             const real_t elMat_6_7 = q_acc_6_7;
+             const real_t elMat_6_8 = q_acc_6_8;
+             const real_t elMat_6_9 = q_acc_6_9;
+             const real_t elMat_7_0 = q_acc_7_0;
+             const real_t elMat_7_1 = q_acc_7_1;
+             const real_t elMat_7_2 = q_acc_7_2;
+             const real_t elMat_7_3 = q_acc_7_3;
+             const real_t elMat_7_4 = q_acc_7_4;
+             const real_t elMat_7_5 = q_acc_7_5;
+             const real_t elMat_7_6 = q_acc_7_6;
+             const real_t elMat_7_7 = q_acc_7_7;
+             const real_t elMat_7_8 = q_acc_7_8;
+             const real_t elMat_7_9 = q_acc_7_9;
+             const real_t elMat_8_0 = q_acc_8_0;
+             const real_t elMat_8_1 = q_acc_8_1;
+             const real_t elMat_8_2 = q_acc_8_2;
+             const real_t elMat_8_3 = q_acc_8_3;
+             const real_t elMat_8_4 = q_acc_8_4;
+             const real_t elMat_8_5 = q_acc_8_5;
+             const real_t elMat_8_6 = q_acc_8_6;
+             const real_t elMat_8_7 = q_acc_8_7;
+             const real_t elMat_8_8 = q_acc_8_8;
+             const real_t elMat_8_9 = q_acc_8_9;
+             const real_t elMat_9_0 = q_acc_9_0;
+             const real_t elMat_9_1 = q_acc_9_1;
+             const real_t elMat_9_2 = q_acc_9_2;
+             const real_t elMat_9_3 = q_acc_9_3;
+             const real_t elMat_9_4 = q_acc_9_4;
+             const real_t elMat_9_5 = q_acc_9_5;
+             const real_t elMat_9_6 = q_acc_9_6;
+             const real_t elMat_9_7 = q_acc_9_7;
+             const real_t elMat_9_8 = q_acc_9_8;
+             const real_t elMat_9_9 = q_acc_9_9;
+         
+             std::vector< uint_t > _data_rowIdx( 10 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 100 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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[4] = ((uint64_t)(_data_dstEdge[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_rowIdx[5] = ((uint64_t)(_data_dstEdge[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_rowIdx[6] = ((uint64_t)(_data_dstEdge[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_rowIdx[7] = ((uint64_t)(_data_dstEdge[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_rowIdx[8] = ((uint64_t)(_data_dstEdge[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_rowIdx[9] = ((uint64_t)(_data_dstEdge[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[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));
+             _data_mat[40] = ((real_t)(elMat_4_0));
+             _data_mat[41] = ((real_t)(elMat_4_1));
+             _data_mat[42] = ((real_t)(elMat_4_2));
+             _data_mat[43] = ((real_t)(elMat_4_3));
+             _data_mat[44] = ((real_t)(elMat_4_4));
+             _data_mat[45] = ((real_t)(elMat_4_5));
+             _data_mat[46] = ((real_t)(elMat_4_6));
+             _data_mat[47] = ((real_t)(elMat_4_7));
+             _data_mat[48] = ((real_t)(elMat_4_8));
+             _data_mat[49] = ((real_t)(elMat_4_9));
+             _data_mat[50] = ((real_t)(elMat_5_0));
+             _data_mat[51] = ((real_t)(elMat_5_1));
+             _data_mat[52] = ((real_t)(elMat_5_2));
+             _data_mat[53] = ((real_t)(elMat_5_3));
+             _data_mat[54] = ((real_t)(elMat_5_4));
+             _data_mat[55] = ((real_t)(elMat_5_5));
+             _data_mat[56] = ((real_t)(elMat_5_6));
+             _data_mat[57] = ((real_t)(elMat_5_7));
+             _data_mat[58] = ((real_t)(elMat_5_8));
+             _data_mat[59] = ((real_t)(elMat_5_9));
+             _data_mat[60] = ((real_t)(elMat_6_0));
+             _data_mat[61] = ((real_t)(elMat_6_1));
+             _data_mat[62] = ((real_t)(elMat_6_2));
+             _data_mat[63] = ((real_t)(elMat_6_3));
+             _data_mat[64] = ((real_t)(elMat_6_4));
+             _data_mat[65] = ((real_t)(elMat_6_5));
+             _data_mat[66] = ((real_t)(elMat_6_6));
+             _data_mat[67] = ((real_t)(elMat_6_7));
+             _data_mat[68] = ((real_t)(elMat_6_8));
+             _data_mat[69] = ((real_t)(elMat_6_9));
+             _data_mat[70] = ((real_t)(elMat_7_0));
+             _data_mat[71] = ((real_t)(elMat_7_1));
+             _data_mat[72] = ((real_t)(elMat_7_2));
+             _data_mat[73] = ((real_t)(elMat_7_3));
+             _data_mat[74] = ((real_t)(elMat_7_4));
+             _data_mat[75] = ((real_t)(elMat_7_5));
+             _data_mat[76] = ((real_t)(elMat_7_6));
+             _data_mat[77] = ((real_t)(elMat_7_7));
+             _data_mat[78] = ((real_t)(elMat_7_8));
+             _data_mat[79] = ((real_t)(elMat_7_9));
+             _data_mat[80] = ((real_t)(elMat_8_0));
+             _data_mat[81] = ((real_t)(elMat_8_1));
+             _data_mat[82] = ((real_t)(elMat_8_2));
+             _data_mat[83] = ((real_t)(elMat_8_3));
+             _data_mat[84] = ((real_t)(elMat_8_4));
+             _data_mat[85] = ((real_t)(elMat_8_5));
+             _data_mat[86] = ((real_t)(elMat_8_6));
+             _data_mat[87] = ((real_t)(elMat_8_7));
+             _data_mat[88] = ((real_t)(elMat_8_8));
+             _data_mat[89] = ((real_t)(elMat_8_9));
+             _data_mat[90] = ((real_t)(elMat_9_0));
+             _data_mat[91] = ((real_t)(elMat_9_1));
+             _data_mat[92] = ((real_t)(elMat_9_2));
+             _data_mat[93] = ((real_t)(elMat_9_3));
+             _data_mat[94] = ((real_t)(elMat_9_4));
+             _data_mat[95] = ((real_t)(elMat_9_5));
+             _data_mat[96] = ((real_t)(elMat_9_6));
+             _data_mat[97] = ((real_t)(elMat_9_7));
+             _data_mat[98] = ((real_t)(elMat_9_8));
+             _data_mat[99] = ((real_t)(elMat_9_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 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_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 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_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 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_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 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN;
+       const real_t tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN;
+       const real_t tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN);
+       const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN);
+       const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN);
+       const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN);
+       const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN);
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN);
+       const real_t tmp_moved_constant_136 = jac_affine_inv_2_0_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_137 = jac_affine_inv_0_0_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_138 = jac_affine_inv_1_0_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_139 = tmp_moved_constant_137 + tmp_moved_constant_138;
+       const real_t tmp_moved_constant_140 = tmp_moved_constant_136 + tmp_moved_constant_139;
+       const real_t tmp_moved_constant_141 = jac_affine_inv_2_1_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_142 = jac_affine_inv_0_1_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_143 = jac_affine_inv_1_1_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_144 = tmp_moved_constant_142 + tmp_moved_constant_143;
+       const real_t tmp_moved_constant_145 = tmp_moved_constant_141 + tmp_moved_constant_144;
+       const real_t tmp_moved_constant_146 = jac_affine_inv_2_2_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_147 = jac_affine_inv_0_2_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_148 = jac_affine_inv_1_2_GREEN_DOWN*4.0;
+       const real_t tmp_moved_constant_149 = tmp_moved_constant_147 + tmp_moved_constant_148;
+       const real_t tmp_moved_constant_150 = tmp_moved_constant_146 + tmp_moved_constant_149;
+       const real_t tmp_moved_constant_151 = jac_affine_inv_0_0_GREEN_DOWN*tmp_moved_constant_140 + jac_affine_inv_0_1_GREEN_DOWN*tmp_moved_constant_145 + jac_affine_inv_0_2_GREEN_DOWN*tmp_moved_constant_150 + jac_affine_inv_1_0_GREEN_DOWN*tmp_moved_constant_140 + jac_affine_inv_1_1_GREEN_DOWN*tmp_moved_constant_145 + jac_affine_inv_1_2_GREEN_DOWN*tmp_moved_constant_150 + jac_affine_inv_2_0_GREEN_DOWN*tmp_moved_constant_140 + jac_affine_inv_2_1_GREEN_DOWN*tmp_moved_constant_145 + jac_affine_inv_2_2_GREEN_DOWN*tmp_moved_constant_150;
+       const real_t tmp_moved_constant_152 = (jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN)*4.0 + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN)*4.0 + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)*4.0;
+       const real_t tmp_moved_constant_153 = (jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN)*4.0 + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN)*4.0 + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)*4.0;
+       const real_t tmp_moved_constant_154 = (jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN)*4.0 + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN)*4.0 + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)*4.0;
+       const real_t tmp_moved_constant_155 = jac_affine_inv_2_0_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_156 = jac_affine_inv_2_1_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_157 = jac_affine_inv_2_2_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_158 = jac_affine_inv_1_0_GREEN_DOWN*tmp_moved_constant_155 + jac_affine_inv_1_1_GREEN_DOWN*tmp_moved_constant_156 + jac_affine_inv_1_2_GREEN_DOWN*tmp_moved_constant_157;
+       const real_t tmp_moved_constant_159 = jac_affine_inv_0_0_GREEN_DOWN*tmp_moved_constant_155 + jac_affine_inv_0_1_GREEN_DOWN*tmp_moved_constant_156 + jac_affine_inv_0_2_GREEN_DOWN*tmp_moved_constant_157;
+       const real_t tmp_moved_constant_160 = jac_affine_inv_1_0_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_161 = jac_affine_inv_1_1_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_162 = jac_affine_inv_1_2_GREEN_DOWN*8.0;
+       const real_t tmp_moved_constant_163 = jac_affine_inv_0_0_GREEN_DOWN*tmp_moved_constant_160 + jac_affine_inv_0_1_GREEN_DOWN*tmp_moved_constant_161 + jac_affine_inv_0_2_GREEN_DOWN*tmp_moved_constant_162;
+       const real_t tmp_moved_constant_164 = jac_affine_inv_2_0_GREEN_DOWN*tmp_moved_constant_138 + jac_affine_inv_2_1_GREEN_DOWN*tmp_moved_constant_143 + jac_affine_inv_2_2_GREEN_DOWN*tmp_moved_constant_148;
+       const real_t tmp_moved_constant_165 = jac_affine_inv_2_0_GREEN_DOWN*tmp_moved_constant_137 + jac_affine_inv_2_1_GREEN_DOWN*tmp_moved_constant_142 + jac_affine_inv_2_2_GREEN_DOWN*tmp_moved_constant_147;
+       const real_t tmp_moved_constant_166 = jac_affine_inv_2_0_GREEN_DOWN*(-tmp_moved_constant_139 - tmp_moved_constant_155) + jac_affine_inv_2_1_GREEN_DOWN*(-tmp_moved_constant_144 - tmp_moved_constant_156) + jac_affine_inv_2_2_GREEN_DOWN*(-tmp_moved_constant_149 - tmp_moved_constant_157) - tmp_moved_constant_164 - tmp_moved_constant_165;
+       const real_t tmp_moved_constant_167 = jac_affine_inv_1_0_GREEN_DOWN*tmp_moved_constant_137 + jac_affine_inv_1_1_GREEN_DOWN*tmp_moved_constant_142 + jac_affine_inv_1_2_GREEN_DOWN*tmp_moved_constant_147;
+       const real_t tmp_moved_constant_168 = jac_affine_inv_1_0_GREEN_DOWN*(-tmp_moved_constant_136 - tmp_moved_constant_137 - tmp_moved_constant_160) + jac_affine_inv_1_1_GREEN_DOWN*(-tmp_moved_constant_141 - tmp_moved_constant_142 - tmp_moved_constant_161) + jac_affine_inv_1_2_GREEN_DOWN*(-tmp_moved_constant_146 - tmp_moved_constant_147 - tmp_moved_constant_162) - tmp_moved_constant_164 - tmp_moved_constant_167;
+       const real_t tmp_moved_constant_169 = jac_affine_inv_0_0_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*-8.0 - tmp_moved_constant_136 - tmp_moved_constant_138) + jac_affine_inv_0_1_GREEN_DOWN*(jac_affine_inv_0_1_GREEN_DOWN*-8.0 - tmp_moved_constant_141 - tmp_moved_constant_143) + jac_affine_inv_0_2_GREEN_DOWN*(jac_affine_inv_0_2_GREEN_DOWN*-8.0 - tmp_moved_constant_146 - tmp_moved_constant_148) - tmp_moved_constant_165 - tmp_moved_constant_167;
+       {
+          /* CellType.GREEN_DOWN */
+          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 diffusivity_times_delta_dof_0 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_1 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_2 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_3 = _data_diffusivity_times_deltaVertex[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 diffusivity_times_delta_dof_4 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_5 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_6 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_7 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_8 = _data_diffusivity_times_deltaEdge[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 diffusivity_times_delta_dof_9 = _data_diffusivity_times_deltaEdge[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 wx_dof_0 = _data_wxVertex[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 wx_dof_1 = _data_wxVertex[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 wx_dof_2 = _data_wxVertex[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 wx_dof_3 = _data_wxVertex[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 wx_dof_4 = _data_wxEdge[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 wx_dof_5 = _data_wxEdge[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 wx_dof_6 = _data_wxEdge[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 wx_dof_7 = _data_wxEdge[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 wx_dof_8 = _data_wxEdge[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 wx_dof_9 = _data_wxEdge[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 wy_dof_0 = _data_wyVertex[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 wy_dof_1 = _data_wyVertex[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 wy_dof_2 = _data_wyVertex[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 wy_dof_3 = _data_wyVertex[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 wy_dof_4 = _data_wyEdge[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 wy_dof_5 = _data_wyEdge[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 wy_dof_6 = _data_wyEdge[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 wy_dof_7 = _data_wyEdge[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 wy_dof_8 = _data_wyEdge[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 wy_dof_9 = _data_wyEdge[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 wz_dof_0 = _data_wzVertex[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 wz_dof_1 = _data_wzVertex[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 wz_dof_2 = _data_wzVertex[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 wz_dof_3 = _data_wzVertex[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 wz_dof_4 = _data_wzEdge[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 wz_dof_5 = _data_wzEdge[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 wz_dof_6 = _data_wzEdge[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 wz_dof_7 = _data_wzEdge[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 wz_dof_8 = _data_wzEdge[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 wz_dof_9 = _data_wzEdge[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;
+             real_t q_acc_4_0 = 0.0;
+             real_t q_acc_4_1 = 0.0;
+             real_t q_acc_4_2 = 0.0;
+             real_t q_acc_4_3 = 0.0;
+             real_t q_acc_4_4 = 0.0;
+             real_t q_acc_4_5 = 0.0;
+             real_t q_acc_4_6 = 0.0;
+             real_t q_acc_4_7 = 0.0;
+             real_t q_acc_4_8 = 0.0;
+             real_t q_acc_4_9 = 0.0;
+             real_t q_acc_5_0 = 0.0;
+             real_t q_acc_5_1 = 0.0;
+             real_t q_acc_5_2 = 0.0;
+             real_t q_acc_5_3 = 0.0;
+             real_t q_acc_5_4 = 0.0;
+             real_t q_acc_5_5 = 0.0;
+             real_t q_acc_5_6 = 0.0;
+             real_t q_acc_5_7 = 0.0;
+             real_t q_acc_5_8 = 0.0;
+             real_t q_acc_5_9 = 0.0;
+             real_t q_acc_6_0 = 0.0;
+             real_t q_acc_6_1 = 0.0;
+             real_t q_acc_6_2 = 0.0;
+             real_t q_acc_6_3 = 0.0;
+             real_t q_acc_6_4 = 0.0;
+             real_t q_acc_6_5 = 0.0;
+             real_t q_acc_6_6 = 0.0;
+             real_t q_acc_6_7 = 0.0;
+             real_t q_acc_6_8 = 0.0;
+             real_t q_acc_6_9 = 0.0;
+             real_t q_acc_7_0 = 0.0;
+             real_t q_acc_7_1 = 0.0;
+             real_t q_acc_7_2 = 0.0;
+             real_t q_acc_7_3 = 0.0;
+             real_t q_acc_7_4 = 0.0;
+             real_t q_acc_7_5 = 0.0;
+             real_t q_acc_7_6 = 0.0;
+             real_t q_acc_7_7 = 0.0;
+             real_t q_acc_7_8 = 0.0;
+             real_t q_acc_7_9 = 0.0;
+             real_t q_acc_8_0 = 0.0;
+             real_t q_acc_8_1 = 0.0;
+             real_t q_acc_8_2 = 0.0;
+             real_t q_acc_8_3 = 0.0;
+             real_t q_acc_8_4 = 0.0;
+             real_t q_acc_8_5 = 0.0;
+             real_t q_acc_8_6 = 0.0;
+             real_t q_acc_8_7 = 0.0;
+             real_t q_acc_8_8 = 0.0;
+             real_t q_acc_8_9 = 0.0;
+             real_t q_acc_9_0 = 0.0;
+             real_t q_acc_9_1 = 0.0;
+             real_t q_acc_9_2 = 0.0;
+             real_t q_acc_9_3 = 0.0;
+             real_t q_acc_9_4 = 0.0;
+             real_t q_acc_9_5 = 0.0;
+             real_t q_acc_9_6 = 0.0;
+             real_t q_acc_9_7 = 0.0;
+             real_t q_acc_9_8 = 0.0;
+             real_t q_acc_9_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_16 = 4.0*_data_q_p_2[q];
+                const real_t tmp_qloop_17 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_18 = 4.0*_data_q_p_1[q];
+                const real_t tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18;
+                const real_t tmp_qloop_20 = tmp_qloop_16 + tmp_qloop_19 - 3.0;
+                const real_t tmp_qloop_21 = tmp_qloop_17*_data_q_p_1[q];
+                const real_t tmp_qloop_22 = tmp_qloop_17*_data_q_p_2[q];
+                const real_t tmp_qloop_23 = tmp_qloop_18*_data_q_p_2[q];
+                const real_t tmp_qloop_24 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_25 = tmp_qloop_24*2.0;
+                const real_t tmp_qloop_26 = tmp_qloop_25 - _data_q_p_0[q];
+                const real_t tmp_qloop_27 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_28 = tmp_qloop_27*2.0;
+                const real_t tmp_qloop_29 = tmp_qloop_28 - _data_q_p_1[q];
+                const real_t tmp_qloop_30 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_31 = tmp_qloop_30*2.0;
+                const real_t tmp_qloop_32 = tmp_qloop_31 - _data_q_p_2[q];
+                const real_t tmp_qloop_33 = tmp_qloop_16 - tmp_qloop_22 - tmp_qloop_23 + tmp_qloop_30*-4.0;
+                const real_t tmp_qloop_34 = tmp_qloop_18 - tmp_qloop_21 - tmp_qloop_23 + tmp_qloop_27*-4.0;
+                const real_t tmp_qloop_35 = tmp_qloop_21 + tmp_qloop_22;
+                const real_t tmp_qloop_36 = tmp_qloop_17 + tmp_qloop_24*-4.0 - tmp_qloop_35;
+                const real_t tmp_qloop_37 = tmp_qloop_23 + tmp_qloop_25 + tmp_qloop_28 + tmp_qloop_31 + tmp_qloop_35 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0;
+                const real_t tmp_qloop_38 = tmp_qloop_21*wx_dof_6 + tmp_qloop_22*wx_dof_5 + tmp_qloop_23*wx_dof_4 + tmp_qloop_26*wx_dof_1 + tmp_qloop_29*wx_dof_2 + tmp_qloop_32*wx_dof_3 + tmp_qloop_33*wx_dof_7 + tmp_qloop_34*wx_dof_8 + tmp_qloop_36*wx_dof_9 + tmp_qloop_37*wx_dof_0;
+                const real_t tmp_qloop_39 = tmp_qloop_21*wy_dof_6 + tmp_qloop_22*wy_dof_5 + tmp_qloop_23*wy_dof_4 + tmp_qloop_26*wy_dof_1 + tmp_qloop_29*wy_dof_2 + tmp_qloop_32*wy_dof_3 + tmp_qloop_33*wy_dof_7 + tmp_qloop_34*wy_dof_8 + tmp_qloop_36*wy_dof_9 + tmp_qloop_37*wy_dof_0;
+                const real_t tmp_qloop_40 = tmp_qloop_21*wz_dof_6 + tmp_qloop_22*wz_dof_5 + tmp_qloop_23*wz_dof_4 + tmp_qloop_26*wz_dof_1 + tmp_qloop_29*wz_dof_2 + tmp_qloop_32*wz_dof_3 + tmp_qloop_33*wz_dof_7 + tmp_qloop_34*wz_dof_8 + tmp_qloop_36*wz_dof_9 + tmp_qloop_37*wz_dof_0;
+                const real_t tmp_qloop_41 = abs_det_jac_affine_GREEN_DOWN*(diffusivity_times_delta_dof_0*tmp_qloop_37 + diffusivity_times_delta_dof_1*tmp_qloop_26 + diffusivity_times_delta_dof_2*tmp_qloop_29 + diffusivity_times_delta_dof_3*tmp_qloop_32 + diffusivity_times_delta_dof_4*tmp_qloop_23 + diffusivity_times_delta_dof_5*tmp_qloop_22 + diffusivity_times_delta_dof_6*tmp_qloop_21 + diffusivity_times_delta_dof_7*tmp_qloop_33 + diffusivity_times_delta_dof_8*tmp_qloop_34 + diffusivity_times_delta_dof_9*tmp_qloop_36)*_data_q_w[q];
+                const real_t tmp_qloop_42 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_20 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_20 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_20) + tmp_qloop_39*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_20 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_20 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_20) + tmp_qloop_40*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_20 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_20 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_20));
+                const real_t tmp_qloop_61 = tmp_qloop_17 - 1.0;
+                const real_t tmp_qloop_62 = tmp_qloop_41*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_38*tmp_qloop_61 + jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_39*tmp_qloop_61 + jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_40*tmp_qloop_61);
+                const real_t tmp_qloop_63 = tmp_qloop_18 - 1.0;
+                const real_t tmp_qloop_64 = tmp_qloop_41*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_38*tmp_qloop_63 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_39*tmp_qloop_63 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_40*tmp_qloop_63);
+                const real_t tmp_qloop_65 = tmp_qloop_16 - 1.0;
+                const real_t tmp_qloop_66 = tmp_qloop_41*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_38*tmp_qloop_65 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_39*tmp_qloop_65 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_40*tmp_qloop_65);
+                const real_t tmp_qloop_67 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_68 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_69 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_70 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_71 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_72 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_73 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_67 + tmp_qloop_68) + tmp_qloop_39*(tmp_qloop_69 + tmp_qloop_70) + tmp_qloop_40*(tmp_qloop_71 + tmp_qloop_72));
+                const real_t tmp_qloop_74 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_75 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_76 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_77 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_78 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_79 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_16;
+                const real_t tmp_qloop_80 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_74 + tmp_qloop_75) + tmp_qloop_39*(tmp_qloop_76 + tmp_qloop_77) + tmp_qloop_40*(tmp_qloop_78 + tmp_qloop_79));
+                const real_t tmp_qloop_81 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_82 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_83 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_84 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_85 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_17;
+                const real_t tmp_qloop_86 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_18;
+                const real_t tmp_qloop_87 = tmp_qloop_41*(tmp_qloop_38*(tmp_qloop_81 + tmp_qloop_82) + tmp_qloop_39*(tmp_qloop_83 + tmp_qloop_84) + tmp_qloop_40*(tmp_qloop_85 + tmp_qloop_86));
+                const real_t tmp_qloop_88 = -tmp_qloop_19 - 8.0*_data_q_p_2[q] + 4.0;
+                const real_t tmp_qloop_89 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_88 - tmp_qloop_68 - tmp_qloop_75) + tmp_qloop_39*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_88 - tmp_qloop_70 - tmp_qloop_77) + tmp_qloop_40*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_88 - tmp_qloop_72 - tmp_qloop_79));
+                const real_t tmp_qloop_90 = tmp_qloop_16 - 4.0;
+                const real_t tmp_qloop_91 = -tmp_qloop_17 - tmp_qloop_90 - 8.0*_data_q_p_1[q];
+                const real_t tmp_qloop_92 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_91 - tmp_qloop_67 - tmp_qloop_82) + tmp_qloop_39*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_91 - tmp_qloop_69 - tmp_qloop_84) + tmp_qloop_40*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_91 - tmp_qloop_71 - tmp_qloop_86));
+                const real_t tmp_qloop_93 = -tmp_qloop_18 - tmp_qloop_90 - 8.0*_data_q_p_0[q];
+                const real_t tmp_qloop_94 = tmp_qloop_41*(tmp_qloop_38*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_93 - tmp_qloop_74 - tmp_qloop_81) + tmp_qloop_39*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_93 - tmp_qloop_76 - tmp_qloop_83) + tmp_qloop_40*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_93 - tmp_qloop_78 - tmp_qloop_85));
+                const real_t q_tmp_0_0 = tmp_moved_constant_151*tmp_qloop_42;
+                const real_t q_tmp_0_1 = tmp_moved_constant_152*tmp_qloop_42;
+                const real_t q_tmp_0_2 = tmp_moved_constant_153*tmp_qloop_42;
+                const real_t q_tmp_0_3 = tmp_moved_constant_154*tmp_qloop_42;
+                const real_t q_tmp_0_4 = tmp_moved_constant_158*tmp_qloop_42;
+                const real_t q_tmp_0_5 = tmp_moved_constant_159*tmp_qloop_42;
+                const real_t q_tmp_0_6 = tmp_moved_constant_163*tmp_qloop_42;
+                const real_t q_tmp_0_7 = tmp_moved_constant_166*tmp_qloop_42;
+                const real_t q_tmp_0_8 = tmp_moved_constant_168*tmp_qloop_42;
+                const real_t q_tmp_0_9 = tmp_moved_constant_169*tmp_qloop_42;
+                const real_t q_tmp_1_0 = tmp_moved_constant_151*tmp_qloop_62;
+                const real_t q_tmp_1_1 = tmp_moved_constant_152*tmp_qloop_62;
+                const real_t q_tmp_1_2 = tmp_moved_constant_153*tmp_qloop_62;
+                const real_t q_tmp_1_3 = tmp_moved_constant_154*tmp_qloop_62;
+                const real_t q_tmp_1_4 = tmp_moved_constant_158*tmp_qloop_62;
+                const real_t q_tmp_1_5 = tmp_moved_constant_159*tmp_qloop_62;
+                const real_t q_tmp_1_6 = tmp_moved_constant_163*tmp_qloop_62;
+                const real_t q_tmp_1_7 = tmp_moved_constant_166*tmp_qloop_62;
+                const real_t q_tmp_1_8 = tmp_moved_constant_168*tmp_qloop_62;
+                const real_t q_tmp_1_9 = tmp_moved_constant_169*tmp_qloop_62;
+                const real_t q_tmp_2_0 = tmp_moved_constant_151*tmp_qloop_64;
+                const real_t q_tmp_2_1 = tmp_moved_constant_152*tmp_qloop_64;
+                const real_t q_tmp_2_2 = tmp_moved_constant_153*tmp_qloop_64;
+                const real_t q_tmp_2_3 = tmp_moved_constant_154*tmp_qloop_64;
+                const real_t q_tmp_2_4 = tmp_moved_constant_158*tmp_qloop_64;
+                const real_t q_tmp_2_5 = tmp_moved_constant_159*tmp_qloop_64;
+                const real_t q_tmp_2_6 = tmp_moved_constant_163*tmp_qloop_64;
+                const real_t q_tmp_2_7 = tmp_moved_constant_166*tmp_qloop_64;
+                const real_t q_tmp_2_8 = tmp_moved_constant_168*tmp_qloop_64;
+                const real_t q_tmp_2_9 = tmp_moved_constant_169*tmp_qloop_64;
+                const real_t q_tmp_3_0 = tmp_moved_constant_151*tmp_qloop_66;
+                const real_t q_tmp_3_1 = tmp_moved_constant_152*tmp_qloop_66;
+                const real_t q_tmp_3_2 = tmp_moved_constant_153*tmp_qloop_66;
+                const real_t q_tmp_3_3 = tmp_moved_constant_154*tmp_qloop_66;
+                const real_t q_tmp_3_4 = tmp_moved_constant_158*tmp_qloop_66;
+                const real_t q_tmp_3_5 = tmp_moved_constant_159*tmp_qloop_66;
+                const real_t q_tmp_3_6 = tmp_moved_constant_163*tmp_qloop_66;
+                const real_t q_tmp_3_7 = tmp_moved_constant_166*tmp_qloop_66;
+                const real_t q_tmp_3_8 = tmp_moved_constant_168*tmp_qloop_66;
+                const real_t q_tmp_3_9 = tmp_moved_constant_169*tmp_qloop_66;
+                const real_t q_tmp_4_0 = tmp_moved_constant_151*tmp_qloop_73;
+                const real_t q_tmp_4_1 = tmp_moved_constant_152*tmp_qloop_73;
+                const real_t q_tmp_4_2 = tmp_moved_constant_153*tmp_qloop_73;
+                const real_t q_tmp_4_3 = tmp_moved_constant_154*tmp_qloop_73;
+                const real_t q_tmp_4_4 = tmp_moved_constant_158*tmp_qloop_73;
+                const real_t q_tmp_4_5 = tmp_moved_constant_159*tmp_qloop_73;
+                const real_t q_tmp_4_6 = tmp_moved_constant_163*tmp_qloop_73;
+                const real_t q_tmp_4_7 = tmp_moved_constant_166*tmp_qloop_73;
+                const real_t q_tmp_4_8 = tmp_moved_constant_168*tmp_qloop_73;
+                const real_t q_tmp_4_9 = tmp_moved_constant_169*tmp_qloop_73;
+                const real_t q_tmp_5_0 = tmp_moved_constant_151*tmp_qloop_80;
+                const real_t q_tmp_5_1 = tmp_moved_constant_152*tmp_qloop_80;
+                const real_t q_tmp_5_2 = tmp_moved_constant_153*tmp_qloop_80;
+                const real_t q_tmp_5_3 = tmp_moved_constant_154*tmp_qloop_80;
+                const real_t q_tmp_5_4 = tmp_moved_constant_158*tmp_qloop_80;
+                const real_t q_tmp_5_5 = tmp_moved_constant_159*tmp_qloop_80;
+                const real_t q_tmp_5_6 = tmp_moved_constant_163*tmp_qloop_80;
+                const real_t q_tmp_5_7 = tmp_moved_constant_166*tmp_qloop_80;
+                const real_t q_tmp_5_8 = tmp_moved_constant_168*tmp_qloop_80;
+                const real_t q_tmp_5_9 = tmp_moved_constant_169*tmp_qloop_80;
+                const real_t q_tmp_6_0 = tmp_moved_constant_151*tmp_qloop_87;
+                const real_t q_tmp_6_1 = tmp_moved_constant_152*tmp_qloop_87;
+                const real_t q_tmp_6_2 = tmp_moved_constant_153*tmp_qloop_87;
+                const real_t q_tmp_6_3 = tmp_moved_constant_154*tmp_qloop_87;
+                const real_t q_tmp_6_4 = tmp_moved_constant_158*tmp_qloop_87;
+                const real_t q_tmp_6_5 = tmp_moved_constant_159*tmp_qloop_87;
+                const real_t q_tmp_6_6 = tmp_moved_constant_163*tmp_qloop_87;
+                const real_t q_tmp_6_7 = tmp_moved_constant_166*tmp_qloop_87;
+                const real_t q_tmp_6_8 = tmp_moved_constant_168*tmp_qloop_87;
+                const real_t q_tmp_6_9 = tmp_moved_constant_169*tmp_qloop_87;
+                const real_t q_tmp_7_0 = tmp_moved_constant_151*tmp_qloop_89;
+                const real_t q_tmp_7_1 = tmp_moved_constant_152*tmp_qloop_89;
+                const real_t q_tmp_7_2 = tmp_moved_constant_153*tmp_qloop_89;
+                const real_t q_tmp_7_3 = tmp_moved_constant_154*tmp_qloop_89;
+                const real_t q_tmp_7_4 = tmp_moved_constant_158*tmp_qloop_89;
+                const real_t q_tmp_7_5 = tmp_moved_constant_159*tmp_qloop_89;
+                const real_t q_tmp_7_6 = tmp_moved_constant_163*tmp_qloop_89;
+                const real_t q_tmp_7_7 = tmp_moved_constant_166*tmp_qloop_89;
+                const real_t q_tmp_7_8 = tmp_moved_constant_168*tmp_qloop_89;
+                const real_t q_tmp_7_9 = tmp_moved_constant_169*tmp_qloop_89;
+                const real_t q_tmp_8_0 = tmp_moved_constant_151*tmp_qloop_92;
+                const real_t q_tmp_8_1 = tmp_moved_constant_152*tmp_qloop_92;
+                const real_t q_tmp_8_2 = tmp_moved_constant_153*tmp_qloop_92;
+                const real_t q_tmp_8_3 = tmp_moved_constant_154*tmp_qloop_92;
+                const real_t q_tmp_8_4 = tmp_moved_constant_158*tmp_qloop_92;
+                const real_t q_tmp_8_5 = tmp_moved_constant_159*tmp_qloop_92;
+                const real_t q_tmp_8_6 = tmp_moved_constant_163*tmp_qloop_92;
+                const real_t q_tmp_8_7 = tmp_moved_constant_166*tmp_qloop_92;
+                const real_t q_tmp_8_8 = tmp_moved_constant_168*tmp_qloop_92;
+                const real_t q_tmp_8_9 = tmp_moved_constant_169*tmp_qloop_92;
+                const real_t q_tmp_9_0 = tmp_moved_constant_151*tmp_qloop_94;
+                const real_t q_tmp_9_1 = tmp_moved_constant_152*tmp_qloop_94;
+                const real_t q_tmp_9_2 = tmp_moved_constant_153*tmp_qloop_94;
+                const real_t q_tmp_9_3 = tmp_moved_constant_154*tmp_qloop_94;
+                const real_t q_tmp_9_4 = tmp_moved_constant_158*tmp_qloop_94;
+                const real_t q_tmp_9_5 = tmp_moved_constant_159*tmp_qloop_94;
+                const real_t q_tmp_9_6 = tmp_moved_constant_163*tmp_qloop_94;
+                const real_t q_tmp_9_7 = tmp_moved_constant_166*tmp_qloop_94;
+                const real_t q_tmp_9_8 = tmp_moved_constant_168*tmp_qloop_94;
+                const real_t q_tmp_9_9 = tmp_moved_constant_169*tmp_qloop_94;
+                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;
+                q_acc_4_0 = q_acc_4_0 + q_tmp_4_0;
+                q_acc_4_1 = q_acc_4_1 + q_tmp_4_1;
+                q_acc_4_2 = q_acc_4_2 + q_tmp_4_2;
+                q_acc_4_3 = q_acc_4_3 + q_tmp_4_3;
+                q_acc_4_4 = q_acc_4_4 + q_tmp_4_4;
+                q_acc_4_5 = q_acc_4_5 + q_tmp_4_5;
+                q_acc_4_6 = q_acc_4_6 + q_tmp_4_6;
+                q_acc_4_7 = q_acc_4_7 + q_tmp_4_7;
+                q_acc_4_8 = q_acc_4_8 + q_tmp_4_8;
+                q_acc_4_9 = q_acc_4_9 + q_tmp_4_9;
+                q_acc_5_0 = q_acc_5_0 + q_tmp_5_0;
+                q_acc_5_1 = q_acc_5_1 + q_tmp_5_1;
+                q_acc_5_2 = q_acc_5_2 + q_tmp_5_2;
+                q_acc_5_3 = q_acc_5_3 + q_tmp_5_3;
+                q_acc_5_4 = q_acc_5_4 + q_tmp_5_4;
+                q_acc_5_5 = q_acc_5_5 + q_tmp_5_5;
+                q_acc_5_6 = q_acc_5_6 + q_tmp_5_6;
+                q_acc_5_7 = q_acc_5_7 + q_tmp_5_7;
+                q_acc_5_8 = q_acc_5_8 + q_tmp_5_8;
+                q_acc_5_9 = q_acc_5_9 + q_tmp_5_9;
+                q_acc_6_0 = q_acc_6_0 + q_tmp_6_0;
+                q_acc_6_1 = q_acc_6_1 + q_tmp_6_1;
+                q_acc_6_2 = q_acc_6_2 + q_tmp_6_2;
+                q_acc_6_3 = q_acc_6_3 + q_tmp_6_3;
+                q_acc_6_4 = q_acc_6_4 + q_tmp_6_4;
+                q_acc_6_5 = q_acc_6_5 + q_tmp_6_5;
+                q_acc_6_6 = q_acc_6_6 + q_tmp_6_6;
+                q_acc_6_7 = q_acc_6_7 + q_tmp_6_7;
+                q_acc_6_8 = q_acc_6_8 + q_tmp_6_8;
+                q_acc_6_9 = q_acc_6_9 + q_tmp_6_9;
+                q_acc_7_0 = q_acc_7_0 + q_tmp_7_0;
+                q_acc_7_1 = q_acc_7_1 + q_tmp_7_1;
+                q_acc_7_2 = q_acc_7_2 + q_tmp_7_2;
+                q_acc_7_3 = q_acc_7_3 + q_tmp_7_3;
+                q_acc_7_4 = q_acc_7_4 + q_tmp_7_4;
+                q_acc_7_5 = q_acc_7_5 + q_tmp_7_5;
+                q_acc_7_6 = q_acc_7_6 + q_tmp_7_6;
+                q_acc_7_7 = q_acc_7_7 + q_tmp_7_7;
+                q_acc_7_8 = q_acc_7_8 + q_tmp_7_8;
+                q_acc_7_9 = q_acc_7_9 + q_tmp_7_9;
+                q_acc_8_0 = q_acc_8_0 + q_tmp_8_0;
+                q_acc_8_1 = q_acc_8_1 + q_tmp_8_1;
+                q_acc_8_2 = q_acc_8_2 + q_tmp_8_2;
+                q_acc_8_3 = q_acc_8_3 + q_tmp_8_3;
+                q_acc_8_4 = q_acc_8_4 + q_tmp_8_4;
+                q_acc_8_5 = q_acc_8_5 + q_tmp_8_5;
+                q_acc_8_6 = q_acc_8_6 + q_tmp_8_6;
+                q_acc_8_7 = q_acc_8_7 + q_tmp_8_7;
+                q_acc_8_8 = q_acc_8_8 + q_tmp_8_8;
+                q_acc_8_9 = q_acc_8_9 + q_tmp_8_9;
+                q_acc_9_0 = q_acc_9_0 + q_tmp_9_0;
+                q_acc_9_1 = q_acc_9_1 + q_tmp_9_1;
+                q_acc_9_2 = q_acc_9_2 + q_tmp_9_2;
+                q_acc_9_3 = q_acc_9_3 + q_tmp_9_3;
+                q_acc_9_4 = q_acc_9_4 + q_tmp_9_4;
+                q_acc_9_5 = q_acc_9_5 + q_tmp_9_5;
+                q_acc_9_6 = q_acc_9_6 + q_tmp_9_6;
+                q_acc_9_7 = q_acc_9_7 + q_tmp_9_7;
+                q_acc_9_8 = q_acc_9_8 + q_tmp_9_8;
+                q_acc_9_9 = q_acc_9_9 + q_tmp_9_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;
+             const real_t elMat_4_0 = q_acc_4_0;
+             const real_t elMat_4_1 = q_acc_4_1;
+             const real_t elMat_4_2 = q_acc_4_2;
+             const real_t elMat_4_3 = q_acc_4_3;
+             const real_t elMat_4_4 = q_acc_4_4;
+             const real_t elMat_4_5 = q_acc_4_5;
+             const real_t elMat_4_6 = q_acc_4_6;
+             const real_t elMat_4_7 = q_acc_4_7;
+             const real_t elMat_4_8 = q_acc_4_8;
+             const real_t elMat_4_9 = q_acc_4_9;
+             const real_t elMat_5_0 = q_acc_5_0;
+             const real_t elMat_5_1 = q_acc_5_1;
+             const real_t elMat_5_2 = q_acc_5_2;
+             const real_t elMat_5_3 = q_acc_5_3;
+             const real_t elMat_5_4 = q_acc_5_4;
+             const real_t elMat_5_5 = q_acc_5_5;
+             const real_t elMat_5_6 = q_acc_5_6;
+             const real_t elMat_5_7 = q_acc_5_7;
+             const real_t elMat_5_8 = q_acc_5_8;
+             const real_t elMat_5_9 = q_acc_5_9;
+             const real_t elMat_6_0 = q_acc_6_0;
+             const real_t elMat_6_1 = q_acc_6_1;
+             const real_t elMat_6_2 = q_acc_6_2;
+             const real_t elMat_6_3 = q_acc_6_3;
+             const real_t elMat_6_4 = q_acc_6_4;
+             const real_t elMat_6_5 = q_acc_6_5;
+             const real_t elMat_6_6 = q_acc_6_6;
+             const real_t elMat_6_7 = q_acc_6_7;
+             const real_t elMat_6_8 = q_acc_6_8;
+             const real_t elMat_6_9 = q_acc_6_9;
+             const real_t elMat_7_0 = q_acc_7_0;
+             const real_t elMat_7_1 = q_acc_7_1;
+             const real_t elMat_7_2 = q_acc_7_2;
+             const real_t elMat_7_3 = q_acc_7_3;
+             const real_t elMat_7_4 = q_acc_7_4;
+             const real_t elMat_7_5 = q_acc_7_5;
+             const real_t elMat_7_6 = q_acc_7_6;
+             const real_t elMat_7_7 = q_acc_7_7;
+             const real_t elMat_7_8 = q_acc_7_8;
+             const real_t elMat_7_9 = q_acc_7_9;
+             const real_t elMat_8_0 = q_acc_8_0;
+             const real_t elMat_8_1 = q_acc_8_1;
+             const real_t elMat_8_2 = q_acc_8_2;
+             const real_t elMat_8_3 = q_acc_8_3;
+             const real_t elMat_8_4 = q_acc_8_4;
+             const real_t elMat_8_5 = q_acc_8_5;
+             const real_t elMat_8_6 = q_acc_8_6;
+             const real_t elMat_8_7 = q_acc_8_7;
+             const real_t elMat_8_8 = q_acc_8_8;
+             const real_t elMat_8_9 = q_acc_8_9;
+             const real_t elMat_9_0 = q_acc_9_0;
+             const real_t elMat_9_1 = q_acc_9_1;
+             const real_t elMat_9_2 = q_acc_9_2;
+             const real_t elMat_9_3 = q_acc_9_3;
+             const real_t elMat_9_4 = q_acc_9_4;
+             const real_t elMat_9_5 = q_acc_9_5;
+             const real_t elMat_9_6 = q_acc_9_6;
+             const real_t elMat_9_7 = q_acc_9_7;
+             const real_t elMat_9_8 = q_acc_9_8;
+             const real_t elMat_9_9 = q_acc_9_9;
+         
+             std::vector< uint_t > _data_rowIdx( 10 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 100 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[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_dstVertex[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_dstVertex[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_dstVertex[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[4] = ((uint64_t)(_data_dstEdge[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_rowIdx[5] = ((uint64_t)(_data_dstEdge[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_rowIdx[6] = ((uint64_t)(_data_dstEdge[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_rowIdx[7] = ((uint64_t)(_data_dstEdge[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_rowIdx[8] = ((uint64_t)(_data_dstEdge[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_rowIdx[9] = ((uint64_t)(_data_dstEdge[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[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));
+             _data_mat[40] = ((real_t)(elMat_4_0));
+             _data_mat[41] = ((real_t)(elMat_4_1));
+             _data_mat[42] = ((real_t)(elMat_4_2));
+             _data_mat[43] = ((real_t)(elMat_4_3));
+             _data_mat[44] = ((real_t)(elMat_4_4));
+             _data_mat[45] = ((real_t)(elMat_4_5));
+             _data_mat[46] = ((real_t)(elMat_4_6));
+             _data_mat[47] = ((real_t)(elMat_4_7));
+             _data_mat[48] = ((real_t)(elMat_4_8));
+             _data_mat[49] = ((real_t)(elMat_4_9));
+             _data_mat[50] = ((real_t)(elMat_5_0));
+             _data_mat[51] = ((real_t)(elMat_5_1));
+             _data_mat[52] = ((real_t)(elMat_5_2));
+             _data_mat[53] = ((real_t)(elMat_5_3));
+             _data_mat[54] = ((real_t)(elMat_5_4));
+             _data_mat[55] = ((real_t)(elMat_5_5));
+             _data_mat[56] = ((real_t)(elMat_5_6));
+             _data_mat[57] = ((real_t)(elMat_5_7));
+             _data_mat[58] = ((real_t)(elMat_5_8));
+             _data_mat[59] = ((real_t)(elMat_5_9));
+             _data_mat[60] = ((real_t)(elMat_6_0));
+             _data_mat[61] = ((real_t)(elMat_6_1));
+             _data_mat[62] = ((real_t)(elMat_6_2));
+             _data_mat[63] = ((real_t)(elMat_6_3));
+             _data_mat[64] = ((real_t)(elMat_6_4));
+             _data_mat[65] = ((real_t)(elMat_6_5));
+             _data_mat[66] = ((real_t)(elMat_6_6));
+             _data_mat[67] = ((real_t)(elMat_6_7));
+             _data_mat[68] = ((real_t)(elMat_6_8));
+             _data_mat[69] = ((real_t)(elMat_6_9));
+             _data_mat[70] = ((real_t)(elMat_7_0));
+             _data_mat[71] = ((real_t)(elMat_7_1));
+             _data_mat[72] = ((real_t)(elMat_7_2));
+             _data_mat[73] = ((real_t)(elMat_7_3));
+             _data_mat[74] = ((real_t)(elMat_7_4));
+             _data_mat[75] = ((real_t)(elMat_7_5));
+             _data_mat[76] = ((real_t)(elMat_7_6));
+             _data_mat[77] = ((real_t)(elMat_7_7));
+             _data_mat[78] = ((real_t)(elMat_7_8));
+             _data_mat[79] = ((real_t)(elMat_7_9));
+             _data_mat[80] = ((real_t)(elMat_8_0));
+             _data_mat[81] = ((real_t)(elMat_8_1));
+             _data_mat[82] = ((real_t)(elMat_8_2));
+             _data_mat[83] = ((real_t)(elMat_8_3));
+             _data_mat[84] = ((real_t)(elMat_8_4));
+             _data_mat[85] = ((real_t)(elMat_8_5));
+             _data_mat[86] = ((real_t)(elMat_8_6));
+             _data_mat[87] = ((real_t)(elMat_8_7));
+             _data_mat[88] = ((real_t)(elMat_8_8));
+             _data_mat[89] = ((real_t)(elMat_8_9));
+             _data_mat[90] = ((real_t)(elMat_9_0));
+             _data_mat[91] = ((real_t)(elMat_9_1));
+             _data_mat[92] = ((real_t)(elMat_9_2));
+             _data_mat[93] = ((real_t)(elMat_9_3));
+             _data_mat[94] = ((real_t)(elMat_9_4));
+             _data_mat[95] = ((real_t)(elMat_9_5));
+             _data_mat[96] = ((real_t)(elMat_9_6));
+             _data_mat[97] = ((real_t)(elMat_9_7));
+             _data_mat[98] = ((real_t)(elMat_9_8));
+             _data_mat[99] = ((real_t)(elMat_9_9));
+         
+         
+             mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg