diff --git a/generate/requirements.txt b/generate/requirements.txt index 8fd2c50c4e9bd7778789867dd9c048e8ba187507..89b0efc684a694d936d085def8eac675419e1b49 100644 --- a/generate/requirements.txt +++ b/generate/requirements.txt @@ -1,5 +1,5 @@ --extra-index-url https://test.pypi.org/simple/ -hfg @ git+ssh://git@i10git.cs.fau.de/terraneo/hyteg-form-generator.git@5df6dbee6f366632bc5c20d91597172a653a37b3 +hfg @ git+ssh://git@i10git.cs.fau.de/terraneo/hyteg-form-generator.git@d641b65a018e7c45498788d419268ffa085daf27 tomli >= 1.1.0 ; python_version < "3.11" clang-format diff --git a/operators.toml b/operators.toml index c9e6aa466f46e17f76fba1d84276c937495b240c..35da75bed4d6367efcdc6d492d6cccbc4d5e4dec 100644 --- a/operators.toml +++ b/operators.toml @@ -104,6 +104,35 @@ loop-strategy = "sawtooth" optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] blending = "IcosahedralShellMap" +[[k_mass]] +trial-space = "P2" +test-space = "P1" +form-space-args.coefficient_function_space = "P2" +dimensions = [2, 3] +quadrature = 3 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] + +[[k_mass]] +trial-space = "P2" +test-space = "P1" +form-space-args.coefficient_function_space = "P2" +dimensions = [2] +quadrature = 4 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "AnnulusMap" + +[[k_mass]] +trial-space = "P2" +test-space = "P1" +form-space-args.coefficient_function_space = "P2" +dimensions = [3] +quadrature = 4 +loop-strategy = "sawtooth" +optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"] +blending = "IcosahedralShellMap" + [[divergence]] trial-space = "P2" test-space = "P1" diff --git a/operators/k_mass/CMakeLists.txt b/operators/k_mass/CMakeLists.txt index 25a69bc7bd4cda14567bd46d0ef7cf27f3fdb3dc..7c42b06d46abf07e2d3e2a59bd7da637d35eda99 100644 --- a/operators/k_mass/CMakeLists.txt +++ b/operators/k_mass/CMakeLists.txt @@ -6,6 +6,12 @@ add_library( opgen-k_mass P1ElementwiseKMassAnnulusMap.hpp P1ElementwiseKMassIcosahedralShellMap.cpp P1ElementwiseKMassIcosahedralShellMap.hpp + P2ToP1ElementwiseKMass.cpp + P2ToP1ElementwiseKMass.hpp + P2ToP1ElementwiseKMassAnnulusMap.cpp + P2ToP1ElementwiseKMassAnnulusMap.hpp + P2ToP1ElementwiseKMassIcosahedralShellMap.cpp + P2ToP1ElementwiseKMassIcosahedralShellMap.hpp ) if(HYTEG_BUILD_WITH_AVX AND WALBERLA_DOUBLE_ACCURACY) @@ -19,10 +25,18 @@ if(HYTEG_BUILD_WITH_AVX AND WALBERLA_DOUBLE_ACCURACY) avx/P1ElementwiseKMass_apply_macro_3D.cpp avx/P1ElementwiseKMass_computeInverseDiagonalOperatorValues_macro_2D.cpp avx/P1ElementwiseKMass_computeInverseDiagonalOperatorValues_macro_3D.cpp + avx/P2ToP1ElementwiseKMassAnnulusMap_apply_macro_2D.cpp + avx/P2ToP1ElementwiseKMassIcosahedralShellMap_apply_macro_3D.cpp + avx/P2ToP1ElementwiseKMass_apply_macro_2D.cpp + avx/P2ToP1ElementwiseKMass_apply_macro_3D.cpp noarch/P1ElementwiseKMassAnnulusMap_toMatrix_macro_2D.cpp noarch/P1ElementwiseKMassIcosahedralShellMap_toMatrix_macro_3D.cpp noarch/P1ElementwiseKMass_toMatrix_macro_2D.cpp noarch/P1ElementwiseKMass_toMatrix_macro_3D.cpp + noarch/P2ToP1ElementwiseKMassAnnulusMap_toMatrix_macro_2D.cpp + noarch/P2ToP1ElementwiseKMassIcosahedralShellMap_toMatrix_macro_3D.cpp + noarch/P2ToP1ElementwiseKMass_toMatrix_macro_2D.cpp + noarch/P2ToP1ElementwiseKMass_toMatrix_macro_3D.cpp ) set_source_files_properties( @@ -35,6 +49,10 @@ if(HYTEG_BUILD_WITH_AVX AND WALBERLA_DOUBLE_ACCURACY) avx/P1ElementwiseKMass_apply_macro_3D.cpp avx/P1ElementwiseKMass_computeInverseDiagonalOperatorValues_macro_2D.cpp avx/P1ElementwiseKMass_computeInverseDiagonalOperatorValues_macro_3D.cpp + avx/P2ToP1ElementwiseKMassAnnulusMap_apply_macro_2D.cpp + avx/P2ToP1ElementwiseKMassIcosahedralShellMap_apply_macro_3D.cpp + avx/P2ToP1ElementwiseKMass_apply_macro_2D.cpp + avx/P2ToP1ElementwiseKMass_apply_macro_3D.cpp PROPERTIES COMPILE_OPTIONS ${HYTEG_COMPILER_NATIVE_FLAGS} ) @@ -57,6 +75,14 @@ else() noarch/P1ElementwiseKMass_computeInverseDiagonalOperatorValues_macro_3D.cpp noarch/P1ElementwiseKMass_toMatrix_macro_2D.cpp noarch/P1ElementwiseKMass_toMatrix_macro_3D.cpp + noarch/P2ToP1ElementwiseKMassAnnulusMap_apply_macro_2D.cpp + noarch/P2ToP1ElementwiseKMassAnnulusMap_toMatrix_macro_2D.cpp + noarch/P2ToP1ElementwiseKMassIcosahedralShellMap_apply_macro_3D.cpp + noarch/P2ToP1ElementwiseKMassIcosahedralShellMap_toMatrix_macro_3D.cpp + noarch/P2ToP1ElementwiseKMass_apply_macro_2D.cpp + noarch/P2ToP1ElementwiseKMass_apply_macro_3D.cpp + noarch/P2ToP1ElementwiseKMass_toMatrix_macro_2D.cpp + noarch/P2ToP1ElementwiseKMass_toMatrix_macro_3D.cpp ) endif() diff --git a/operators/k_mass/P2ToP1ElementwiseKMass.cpp b/operators/k_mass/P2ToP1ElementwiseKMass.cpp new file mode 100644 index 0000000000000000000000000000000000000000..90b2550c0d787d5cc0863a68c15ea532f4419c1f --- /dev/null +++ b/operators/k_mass/P2ToP1ElementwiseKMass.cpp @@ -0,0 +1,366 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + +// Unfortunately, the inverse diagonal kernel wrapper triggers a GCC bug (maybe +// (related to) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107087) causing a +// warning in an internal standard library header (bits/stl_algobase.h). As a +// workaround, we disable the warning and include this header indirectly through +// a public header. +#include <waLBerlaDefinitions.h> +#ifdef WALBERLA_CXX_COMPILER_IS_GNU +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wnonnull" +#endif +#include <cmath> +#ifdef WALBERLA_CXX_COMPILER_IS_GNU +#pragma GCC diagnostic pop +#endif + +#include "P2ToP1ElementwiseKMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +P2ToP1ElementwiseKMass::P2ToP1ElementwiseKMass( const std::shared_ptr< PrimitiveStorage >& storage, + size_t minLevel, + size_t maxLevel, + const P2Function< real_t >& _k ) +: Operator( storage, minLevel, maxLevel ) +, k( _k ) +{} + +void P2ToP1ElementwiseKMass::apply( const P2Function< real_t >& src, + const P1Function< real_t >& dst, + uint_t level, + DoFType flag, + UpdateType updateType ) const +{ + this->startTiming( "apply" ); + + // Make sure that halos are up-to-date + this->timingTree_->start( "pre-communication" ); + if ( this->storage_->hasGlobalCells() ) + { + // Note that the order of communication is important, since the face -> cell communication may overwrite + // parts of the halos that carry the macro-vertex and macro-edge unknowns. + src.communicate< Face, Cell >( level ); + src.communicate< Edge, Cell >( level ); + src.communicate< Vertex, Cell >( level ); + k.communicate< Face, Cell >( level ); + k.communicate< Edge, Cell >( level ); + k.communicate< Vertex, Cell >( level ); + } + else + { + communication::syncFunctionBetweenPrimitives( src, level, communication::syncDirection_t::LOW2HIGH ); + communication::syncFunctionBetweenPrimitives( k, level, communication::syncDirection_t::LOW2HIGH ); + } + this->timingTree_->stop( "pre-communication" ); + + if ( updateType == Replace ) + { + // We need to zero the destination array (including halos). + // However, we must not zero out anything that is not flagged with the specified BCs. + // Therefore, we first zero out everything that flagged, and then, later, + // the halos of the highest dim primitives. + dst.interpolate( walberla::numeric_cast< real_t >( 0 ), level, flag ); + } + + if ( storage_->hasGlobalCells() ) + { + for ( auto& it : storage_->getCells() ) + { + Cell& cell = *it.second; + + // get hold of the actual numerical data in the functions + real_t* _data_srcVertex = cell.getData( src.getVertexDoFFunction().getCellDataID() )->getPointer( level ); + real_t* _data_srcEdge = cell.getData( src.getEdgeDoFFunction().getCellDataID() )->getPointer( level ); + real_t* _data_dst = cell.getData( dst.getCellDataID() )->getPointer( level ); + real_t* _data_kVertex = cell.getData( k.getVertexDoFFunction().getCellDataID() )->getPointer( level ); + real_t* _data_kEdge = cell.getData( k.getEdgeDoFFunction().getCellDataID() )->getPointer( level ); + + // Zero out dst halos only + // + // This is also necessary when using update type == Add. + // During additive comm we then skip zeroing the data on the lower-dim primitives. + for ( const auto& idx : vertexdof::macrocell::Iterator( level ) ) + { + if ( !vertexdof::macrocell::isOnCellFace( idx, level ).empty() ) + { + auto arrayIdx = vertexdof::macrocell::index( level, idx.x(), idx.y(), idx.z() ); + _data_dst[arrayIdx] = real_t( 0 ); + } + } + + const auto micro_edges_per_macro_edge = (int64_t) levelinfo::num_microedges_per_edge( level ); + const auto micro_edges_per_macro_edge_float = (real_t) levelinfo::num_microedges_per_edge( level ); + const real_t macro_vertex_coord_id_0comp0 = (real_t) cell.getCoordinates()[0][0]; + const real_t macro_vertex_coord_id_0comp1 = (real_t) cell.getCoordinates()[0][1]; + const real_t macro_vertex_coord_id_0comp2 = (real_t) cell.getCoordinates()[0][2]; + const real_t macro_vertex_coord_id_1comp0 = (real_t) cell.getCoordinates()[1][0]; + const real_t macro_vertex_coord_id_1comp1 = (real_t) cell.getCoordinates()[1][1]; + const real_t macro_vertex_coord_id_1comp2 = (real_t) cell.getCoordinates()[1][2]; + const real_t macro_vertex_coord_id_2comp0 = (real_t) cell.getCoordinates()[2][0]; + const real_t macro_vertex_coord_id_2comp1 = (real_t) cell.getCoordinates()[2][1]; + const real_t macro_vertex_coord_id_2comp2 = (real_t) cell.getCoordinates()[2][2]; + const real_t macro_vertex_coord_id_3comp0 = (real_t) cell.getCoordinates()[3][0]; + const real_t macro_vertex_coord_id_3comp1 = (real_t) cell.getCoordinates()[3][1]; + const real_t macro_vertex_coord_id_3comp2 = (real_t) cell.getCoordinates()[3][2]; + + this->timingTree_->start( "kernel" ); + + apply_macro_3D( + + _data_dst, + _data_kEdge, + _data_kVertex, + _data_srcEdge, + _data_srcVertex, + macro_vertex_coord_id_0comp0, + macro_vertex_coord_id_0comp1, + macro_vertex_coord_id_0comp2, + macro_vertex_coord_id_1comp0, + macro_vertex_coord_id_1comp1, + macro_vertex_coord_id_1comp2, + macro_vertex_coord_id_2comp0, + macro_vertex_coord_id_2comp1, + macro_vertex_coord_id_2comp2, + macro_vertex_coord_id_3comp0, + macro_vertex_coord_id_3comp1, + macro_vertex_coord_id_3comp2, + micro_edges_per_macro_edge, + micro_edges_per_macro_edge_float ); + this->timingTree_->stop( "kernel" ); + } + + // Push result to lower-dimensional primitives + // + this->timingTree_->start( "post-communication" ); + // Note: We could avoid communication here by implementing the apply() also for the respective + // lower dimensional primitives! + dst.communicateAdditively< Cell, Face >( level, DoFType::All ^ flag, *storage_, updateType == Replace ); + dst.communicateAdditively< Cell, Edge >( level, DoFType::All ^ flag, *storage_, updateType == Replace ); + dst.communicateAdditively< Cell, Vertex >( level, DoFType::All ^ flag, *storage_, updateType == Replace ); + this->timingTree_->stop( "post-communication" ); + } + else + { + for ( auto& it : storage_->getFaces() ) + { + Face& face = *it.second; + + // get hold of the actual numerical data in the functions + real_t* _data_srcVertex = face.getData( src.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); + real_t* _data_srcEdge = face.getData( src.getEdgeDoFFunction().getFaceDataID() )->getPointer( level ); + real_t* _data_dst = face.getData( dst.getFaceDataID() )->getPointer( level ); + real_t* _data_kVertex = face.getData( k.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); + real_t* _data_kEdge = face.getData( k.getEdgeDoFFunction().getFaceDataID() )->getPointer( level ); + + // Zero out dst halos only + // + // This is also necessary when using update type == Add. + // During additive comm we then skip zeroing the data on the lower-dim primitives. + for ( const auto& idx : vertexdof::macroface::Iterator( level ) ) + { + if ( vertexdof::macroface::isVertexOnBoundary( level, idx ) ) + { + auto arrayIdx = vertexdof::macroface::index( level, idx.x(), idx.y() ); + _data_dst[arrayIdx] = real_t( 0 ); + } + } + + const auto micro_edges_per_macro_edge = (int64_t) levelinfo::num_microedges_per_edge( level ); + const auto micro_edges_per_macro_edge_float = (real_t) levelinfo::num_microedges_per_edge( level ); + const real_t macro_vertex_coord_id_0comp0 = (real_t) face.getCoordinates()[0][0]; + const real_t macro_vertex_coord_id_0comp1 = (real_t) face.getCoordinates()[0][1]; + const real_t macro_vertex_coord_id_1comp0 = (real_t) face.getCoordinates()[1][0]; + const real_t macro_vertex_coord_id_1comp1 = (real_t) face.getCoordinates()[1][1]; + const real_t macro_vertex_coord_id_2comp0 = (real_t) face.getCoordinates()[2][0]; + const real_t macro_vertex_coord_id_2comp1 = (real_t) face.getCoordinates()[2][1]; + + this->timingTree_->start( "kernel" ); + + apply_macro_2D( + + _data_dst, + _data_kEdge, + _data_kVertex, + _data_srcEdge, + _data_srcVertex, + macro_vertex_coord_id_0comp0, + macro_vertex_coord_id_0comp1, + macro_vertex_coord_id_1comp0, + macro_vertex_coord_id_1comp1, + macro_vertex_coord_id_2comp0, + macro_vertex_coord_id_2comp1, + micro_edges_per_macro_edge, + micro_edges_per_macro_edge_float ); + this->timingTree_->stop( "kernel" ); + } + + // Push result to lower-dimensional primitives + // + this->timingTree_->start( "post-communication" ); + // Note: We could avoid communication here by implementing the apply() also for the respective + // lower dimensional primitives! + dst.communicateAdditively< Face, Edge >( level, DoFType::All ^ flag, *storage_, updateType == Replace ); + dst.communicateAdditively< Face, Vertex >( level, DoFType::All ^ flag, *storage_, updateType == Replace ); + this->timingTree_->stop( "post-communication" ); + } + + this->stopTiming( "apply" ); +} +void P2ToP1ElementwiseKMass::toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat, + const P2Function< idx_t >& src, + const P1Function< idx_t >& dst, + uint_t level, + DoFType flag ) const +{ + this->startTiming( "toMatrix" ); + + // We currently ignore the flag provided! + if ( flag != All ) + { + WALBERLA_LOG_WARNING_ON_ROOT( "Input flag ignored in toMatrix; using flag = All" ); + } + + if ( storage_->hasGlobalCells() ) + { + this->timingTree_->start( "pre-communication" ); + k.communicate< Face, Cell >( level ); + k.communicate< Edge, Cell >( level ); + k.communicate< Vertex, Cell >( level ); + this->timingTree_->stop( "pre-communication" ); + + for ( auto& it : storage_->getCells() ) + { + Cell& cell = *it.second; + + // get hold of the actual numerical data + idx_t* _data_srcVertex = cell.getData( src.getVertexDoFFunction().getCellDataID() )->getPointer( level ); + idx_t* _data_srcEdge = cell.getData( src.getEdgeDoFFunction().getCellDataID() )->getPointer( level ); + idx_t* _data_dst = cell.getData( dst.getCellDataID() )->getPointer( level ); + real_t* _data_kVertex = cell.getData( k.getVertexDoFFunction().getCellDataID() )->getPointer( level ); + real_t* _data_kEdge = cell.getData( k.getEdgeDoFFunction().getCellDataID() )->getPointer( level ); + + const auto micro_edges_per_macro_edge = (int64_t) levelinfo::num_microedges_per_edge( level ); + const auto micro_edges_per_macro_edge_float = (real_t) levelinfo::num_microedges_per_edge( level ); + const real_t macro_vertex_coord_id_0comp0 = (real_t) cell.getCoordinates()[0][0]; + const real_t macro_vertex_coord_id_0comp1 = (real_t) cell.getCoordinates()[0][1]; + const real_t macro_vertex_coord_id_0comp2 = (real_t) cell.getCoordinates()[0][2]; + const real_t macro_vertex_coord_id_1comp0 = (real_t) cell.getCoordinates()[1][0]; + const real_t macro_vertex_coord_id_1comp1 = (real_t) cell.getCoordinates()[1][1]; + const real_t macro_vertex_coord_id_1comp2 = (real_t) cell.getCoordinates()[1][2]; + const real_t macro_vertex_coord_id_2comp0 = (real_t) cell.getCoordinates()[2][0]; + const real_t macro_vertex_coord_id_2comp1 = (real_t) cell.getCoordinates()[2][1]; + const real_t macro_vertex_coord_id_2comp2 = (real_t) cell.getCoordinates()[2][2]; + const real_t macro_vertex_coord_id_3comp0 = (real_t) cell.getCoordinates()[3][0]; + const real_t macro_vertex_coord_id_3comp1 = (real_t) cell.getCoordinates()[3][1]; + const real_t macro_vertex_coord_id_3comp2 = (real_t) cell.getCoordinates()[3][2]; + + this->timingTree_->start( "kernel" ); + + toMatrix_macro_3D( + + _data_dst, + _data_kEdge, + _data_kVertex, + _data_srcEdge, + _data_srcVertex, + macro_vertex_coord_id_0comp0, + macro_vertex_coord_id_0comp1, + macro_vertex_coord_id_0comp2, + macro_vertex_coord_id_1comp0, + macro_vertex_coord_id_1comp1, + macro_vertex_coord_id_1comp2, + macro_vertex_coord_id_2comp0, + macro_vertex_coord_id_2comp1, + macro_vertex_coord_id_2comp2, + macro_vertex_coord_id_3comp0, + macro_vertex_coord_id_3comp1, + macro_vertex_coord_id_3comp2, + mat, + micro_edges_per_macro_edge, + micro_edges_per_macro_edge_float ); + this->timingTree_->stop( "kernel" ); + } + } + else + { + this->timingTree_->start( "pre-communication" ); + communication::syncFunctionBetweenPrimitives( k, level, communication::syncDirection_t::LOW2HIGH ); + this->timingTree_->stop( "pre-communication" ); + + for ( auto& it : storage_->getFaces() ) + { + Face& face = *it.second; + + // get hold of the actual numerical data + idx_t* _data_srcVertex = face.getData( src.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); + idx_t* _data_srcEdge = face.getData( src.getEdgeDoFFunction().getFaceDataID() )->getPointer( level ); + idx_t* _data_dst = face.getData( dst.getFaceDataID() )->getPointer( level ); + real_t* _data_kVertex = face.getData( k.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); + real_t* _data_kEdge = face.getData( k.getEdgeDoFFunction().getFaceDataID() )->getPointer( level ); + + const auto micro_edges_per_macro_edge = (int64_t) levelinfo::num_microedges_per_edge( level ); + const auto micro_edges_per_macro_edge_float = (real_t) levelinfo::num_microedges_per_edge( level ); + const real_t macro_vertex_coord_id_0comp0 = (real_t) face.getCoordinates()[0][0]; + const real_t macro_vertex_coord_id_0comp1 = (real_t) face.getCoordinates()[0][1]; + const real_t macro_vertex_coord_id_1comp0 = (real_t) face.getCoordinates()[1][0]; + const real_t macro_vertex_coord_id_1comp1 = (real_t) face.getCoordinates()[1][1]; + const real_t macro_vertex_coord_id_2comp0 = (real_t) face.getCoordinates()[2][0]; + const real_t macro_vertex_coord_id_2comp1 = (real_t) face.getCoordinates()[2][1]; + + this->timingTree_->start( "kernel" ); + + toMatrix_macro_2D( + + _data_dst, + _data_kEdge, + _data_kVertex, + _data_srcEdge, + _data_srcVertex, + macro_vertex_coord_id_0comp0, + macro_vertex_coord_id_0comp1, + macro_vertex_coord_id_1comp0, + macro_vertex_coord_id_1comp1, + macro_vertex_coord_id_2comp0, + macro_vertex_coord_id_2comp1, + mat, + micro_edges_per_macro_edge, + micro_edges_per_macro_edge_float ); + this->timingTree_->stop( "kernel" ); + } + } + this->stopTiming( "toMatrix" ); +} + +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/k_mass/P2ToP1ElementwiseKMass.hpp b/operators/k_mass/P2ToP1ElementwiseKMass.hpp new file mode 100644 index 0000000000000000000000000000000000000000..d997c743004a9959e46c90a64b69a998fd049e76 --- /dev/null +++ b/operators/k_mass/P2ToP1ElementwiseKMass.hpp @@ -0,0 +1,176 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + +#pragma once + +#include "core/DataTypes.h" + +#include "hyteg/LikwidWrapper.hpp" +#include "hyteg/communication/Syncing.hpp" +#include "hyteg/edgedofspace/EdgeDoFMacroCell.hpp" +#include "hyteg/operators/Operator.hpp" +#include "hyteg/p1functionspace/P1Function.hpp" +#include "hyteg/p2functionspace/P2Function.hpp" +#include "hyteg/primitivestorage/PrimitiveStorage.hpp" +#include "hyteg/sparseassembly/SparseMatrixProxy.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +/// Diffusion operator with a scalar coefficient. +/// +/// Geometry map: IdentityMap +/// +/// Weak formulation +/// +/// u: trial function (space: Lagrange, degree: 2) +/// v: test function (space: Lagrange, degree: 1) +/// k: coefficient (space: Lagrange, degree: 2) +/// +/// ∫ k uv + +class P2ToP1ElementwiseKMass : public Operator< P2Function< real_t >, P1Function< real_t > > +{ + public: + P2ToP1ElementwiseKMass( const std::shared_ptr< PrimitiveStorage >& storage, + size_t minLevel, + size_t maxLevel, + const P2Function< real_t >& _k ); + + void apply( const P2Function< real_t >& src, + const P1Function< real_t >& dst, + uint_t level, + DoFType flag, + UpdateType updateType = Replace ) const; + + void toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat, + const P2Function< idx_t >& src, + const P1Function< idx_t >& dst, + uint_t level, + DoFType flag ) const; + + protected: + private: + /// Kernel type: apply + /// - quadrature rule: Dunavant 3 | points: 4, degree: 3 + /// - operations per element: + /// adds muls divs pows abs assignments function_calls unknown_ops + /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- + /// 154 166 0 0 0 0 0 0 + void apply_macro_2D( real_t* RESTRICT _data_dst, + real_t* RESTRICT _data_kEdge, + real_t* RESTRICT _data_kVertex, + real_t* RESTRICT _data_srcEdge, + real_t* RESTRICT _data_srcVertex, + real_t macro_vertex_coord_id_0comp0, + real_t macro_vertex_coord_id_0comp1, + real_t macro_vertex_coord_id_1comp0, + real_t macro_vertex_coord_id_1comp1, + real_t macro_vertex_coord_id_2comp0, + real_t macro_vertex_coord_id_2comp1, + int64_t micro_edges_per_macro_edge, + real_t micro_edges_per_macro_edge_float ) const; + /// Kernel type: apply + /// - quadrature rule: Hammer-Marlowe-Stroud 3 | points: 5, degree: 3 + /// - operations per element: + /// adds muls divs pows abs assignments function_calls unknown_ops + /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- + /// 385 385 0 0 0 0 0 0 + void apply_macro_3D( real_t* RESTRICT _data_dst, + real_t* RESTRICT _data_kEdge, + real_t* RESTRICT _data_kVertex, + real_t* RESTRICT _data_srcEdge, + real_t* RESTRICT _data_srcVertex, + real_t macro_vertex_coord_id_0comp0, + real_t macro_vertex_coord_id_0comp1, + real_t macro_vertex_coord_id_0comp2, + real_t macro_vertex_coord_id_1comp0, + real_t macro_vertex_coord_id_1comp1, + real_t macro_vertex_coord_id_1comp2, + real_t macro_vertex_coord_id_2comp0, + real_t macro_vertex_coord_id_2comp1, + real_t macro_vertex_coord_id_2comp2, + real_t macro_vertex_coord_id_3comp0, + real_t macro_vertex_coord_id_3comp1, + real_t macro_vertex_coord_id_3comp2, + int64_t micro_edges_per_macro_edge, + real_t micro_edges_per_macro_edge_float ) const; + /// Kernel type: toMatrix + /// - quadrature rule: Dunavant 3 | points: 4, degree: 3 + /// - operations per element: + /// adds muls divs pows abs assignments function_calls unknown_ops + /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- + /// 136 148 0 0 0 0 0 3 + void toMatrix_macro_2D( idx_t* RESTRICT _data_dst, + real_t* RESTRICT _data_kEdge, + real_t* RESTRICT _data_kVertex, + idx_t* RESTRICT _data_srcEdge, + idx_t* RESTRICT _data_srcVertex, + real_t macro_vertex_coord_id_0comp0, + real_t macro_vertex_coord_id_0comp1, + real_t macro_vertex_coord_id_1comp0, + real_t macro_vertex_coord_id_1comp1, + real_t macro_vertex_coord_id_2comp0, + real_t macro_vertex_coord_id_2comp1, + std::shared_ptr< SparseMatrixProxy > mat, + int64_t micro_edges_per_macro_edge, + real_t micro_edges_per_macro_edge_float ) const; + /// Kernel type: toMatrix + /// - quadrature rule: Hammer-Marlowe-Stroud 3 | points: 5, degree: 3 + /// - operations per element: + /// adds muls divs pows abs assignments function_calls unknown_ops + /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- + /// 345 345 0 0 0 0 0 3 + void toMatrix_macro_3D( idx_t* RESTRICT _data_dst, + real_t* RESTRICT _data_kEdge, + real_t* RESTRICT _data_kVertex, + idx_t* RESTRICT _data_srcEdge, + idx_t* RESTRICT _data_srcVertex, + real_t macro_vertex_coord_id_0comp0, + real_t macro_vertex_coord_id_0comp1, + real_t macro_vertex_coord_id_0comp2, + real_t macro_vertex_coord_id_1comp0, + real_t macro_vertex_coord_id_1comp1, + real_t macro_vertex_coord_id_1comp2, + real_t macro_vertex_coord_id_2comp0, + real_t macro_vertex_coord_id_2comp1, + real_t macro_vertex_coord_id_2comp2, + real_t macro_vertex_coord_id_3comp0, + real_t macro_vertex_coord_id_3comp1, + real_t macro_vertex_coord_id_3comp2, + std::shared_ptr< SparseMatrixProxy > mat, + int64_t micro_edges_per_macro_edge, + real_t micro_edges_per_macro_edge_float ) const; + + P2Function< real_t > k; +}; + +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/k_mass/P2ToP1ElementwiseKMassAnnulusMap.cpp b/operators/k_mass/P2ToP1ElementwiseKMassAnnulusMap.cpp new file mode 100644 index 0000000000000000000000000000000000000000..60df33ae07801114a3e7f8de0fd654e1e1a4d9c3 --- /dev/null +++ b/operators/k_mass/P2ToP1ElementwiseKMassAnnulusMap.cpp @@ -0,0 +1,273 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + +// Unfortunately, the inverse diagonal kernel wrapper triggers a GCC bug (maybe +// (related to) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107087) causing a +// warning in an internal standard library header (bits/stl_algobase.h). As a +// workaround, we disable the warning and include this header indirectly through +// a public header. +#include <waLBerlaDefinitions.h> +#ifdef WALBERLA_CXX_COMPILER_IS_GNU +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wnonnull" +#endif +#include <cmath> +#ifdef WALBERLA_CXX_COMPILER_IS_GNU +#pragma GCC diagnostic pop +#endif + +#include "P2ToP1ElementwiseKMassAnnulusMap.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +P2ToP1ElementwiseKMassAnnulusMap::P2ToP1ElementwiseKMassAnnulusMap( const std::shared_ptr< PrimitiveStorage >& storage, + size_t minLevel, + size_t maxLevel, + const P2Function< real_t >& _k ) +: Operator( storage, minLevel, maxLevel ) +, k( _k ) +{} + +void P2ToP1ElementwiseKMassAnnulusMap::apply( const P2Function< real_t >& src, + const P1Function< real_t >& dst, + uint_t level, + DoFType flag, + UpdateType updateType ) const +{ + this->startTiming( "apply" ); + + // Make sure that halos are up-to-date + this->timingTree_->start( "pre-communication" ); + if ( this->storage_->hasGlobalCells() ) + { + WALBERLA_ABORT( "Not implemented." ); + } + else + { + communication::syncFunctionBetweenPrimitives( src, level, communication::syncDirection_t::LOW2HIGH ); + communication::syncFunctionBetweenPrimitives( k, level, communication::syncDirection_t::LOW2HIGH ); + } + this->timingTree_->stop( "pre-communication" ); + + if ( updateType == Replace ) + { + // We need to zero the destination array (including halos). + // However, we must not zero out anything that is not flagged with the specified BCs. + // Therefore, we first zero out everything that flagged, and then, later, + // the halos of the highest dim primitives. + dst.interpolate( walberla::numeric_cast< real_t >( 0 ), level, flag ); + } + + if ( storage_->hasGlobalCells() ) + { + WALBERLA_ABORT( "Not implemented." ); + } + else + { + for ( auto& it : storage_->getFaces() ) + { + Face& face = *it.second; + + // get hold of the actual numerical data in the functions + real_t* _data_srcVertex = face.getData( src.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); + real_t* _data_srcEdge = face.getData( src.getEdgeDoFFunction().getFaceDataID() )->getPointer( level ); + real_t* _data_dst = face.getData( dst.getFaceDataID() )->getPointer( level ); + real_t* _data_kVertex = face.getData( k.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); + real_t* _data_kEdge = face.getData( k.getEdgeDoFFunction().getFaceDataID() )->getPointer( level ); + + // Zero out dst halos only + // + // This is also necessary when using update type == Add. + // During additive comm we then skip zeroing the data on the lower-dim primitives. + for ( const auto& idx : vertexdof::macroface::Iterator( level ) ) + { + if ( vertexdof::macroface::isVertexOnBoundary( level, idx ) ) + { + auto arrayIdx = vertexdof::macroface::index( level, idx.x(), idx.y() ); + _data_dst[arrayIdx] = real_t( 0 ); + } + } + + const auto micro_edges_per_macro_edge = (int64_t) levelinfo::num_microedges_per_edge( level ); + const auto micro_edges_per_macro_edge_float = (real_t) levelinfo::num_microedges_per_edge( level ); + const real_t macro_vertex_coord_id_0comp0 = (real_t) face.getCoordinates()[0][0]; + const real_t macro_vertex_coord_id_0comp1 = (real_t) face.getCoordinates()[0][1]; + const real_t macro_vertex_coord_id_1comp0 = (real_t) face.getCoordinates()[1][0]; + const real_t macro_vertex_coord_id_1comp1 = (real_t) face.getCoordinates()[1][1]; + const real_t macro_vertex_coord_id_2comp0 = (real_t) face.getCoordinates()[2][0]; + const real_t macro_vertex_coord_id_2comp1 = (real_t) face.getCoordinates()[2][1]; + WALBERLA_CHECK_NOT_NULLPTR( + std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() ), + "This operator requires the AnnulusMap to be registered as GeometryMap on every macro-cell." ) + real_t radRefVertex = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->radRefVertex(); + real_t radRayVertex = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->radRayVertex(); + real_t refVertex_0 = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->refVertex()[0]; + real_t rayVertex_0 = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->rayVertex()[0]; + real_t thrVertex_0 = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->thrVertex()[0]; + real_t refVertex_1 = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->refVertex()[1]; + real_t rayVertex_1 = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->rayVertex()[1]; + real_t thrVertex_1 = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->thrVertex()[1]; + + this->timingTree_->start( "kernel" ); + + apply_macro_2D( + + _data_dst, + _data_kEdge, + _data_kVertex, + _data_srcEdge, + _data_srcVertex, + macro_vertex_coord_id_0comp0, + macro_vertex_coord_id_0comp1, + macro_vertex_coord_id_1comp0, + macro_vertex_coord_id_1comp1, + macro_vertex_coord_id_2comp0, + macro_vertex_coord_id_2comp1, + micro_edges_per_macro_edge, + micro_edges_per_macro_edge_float, + radRayVertex, + radRefVertex, + rayVertex_0, + rayVertex_1, + refVertex_0, + refVertex_1, + thrVertex_0, + thrVertex_1 ); + this->timingTree_->stop( "kernel" ); + } + + // Push result to lower-dimensional primitives + // + this->timingTree_->start( "post-communication" ); + // Note: We could avoid communication here by implementing the apply() also for the respective + // lower dimensional primitives! + dst.communicateAdditively< Face, Edge >( level, DoFType::All ^ flag, *storage_, updateType == Replace ); + dst.communicateAdditively< Face, Vertex >( level, DoFType::All ^ flag, *storage_, updateType == Replace ); + this->timingTree_->stop( "post-communication" ); + } + + this->stopTiming( "apply" ); +} +void P2ToP1ElementwiseKMassAnnulusMap::toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat, + const P2Function< idx_t >& src, + const P1Function< idx_t >& dst, + uint_t level, + DoFType flag ) const +{ + this->startTiming( "toMatrix" ); + + // We currently ignore the flag provided! + if ( flag != All ) + { + WALBERLA_LOG_WARNING_ON_ROOT( "Input flag ignored in toMatrix; using flag = All" ); + } + + if ( storage_->hasGlobalCells() ) + { + this->timingTree_->start( "pre-communication" ); + k.communicate< Face, Cell >( level ); + k.communicate< Edge, Cell >( level ); + k.communicate< Vertex, Cell >( level ); + this->timingTree_->stop( "pre-communication" ); + + WALBERLA_ABORT( "Not implemented." ); + } + else + { + this->timingTree_->start( "pre-communication" ); + communication::syncFunctionBetweenPrimitives( k, level, communication::syncDirection_t::LOW2HIGH ); + this->timingTree_->stop( "pre-communication" ); + + for ( auto& it : storage_->getFaces() ) + { + Face& face = *it.second; + + // get hold of the actual numerical data + idx_t* _data_srcVertex = face.getData( src.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); + idx_t* _data_srcEdge = face.getData( src.getEdgeDoFFunction().getFaceDataID() )->getPointer( level ); + idx_t* _data_dst = face.getData( dst.getFaceDataID() )->getPointer( level ); + real_t* _data_kVertex = face.getData( k.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); + real_t* _data_kEdge = face.getData( k.getEdgeDoFFunction().getFaceDataID() )->getPointer( level ); + + const auto micro_edges_per_macro_edge = (int64_t) levelinfo::num_microedges_per_edge( level ); + const auto micro_edges_per_macro_edge_float = (real_t) levelinfo::num_microedges_per_edge( level ); + const real_t macro_vertex_coord_id_0comp0 = (real_t) face.getCoordinates()[0][0]; + const real_t macro_vertex_coord_id_0comp1 = (real_t) face.getCoordinates()[0][1]; + const real_t macro_vertex_coord_id_1comp0 = (real_t) face.getCoordinates()[1][0]; + const real_t macro_vertex_coord_id_1comp1 = (real_t) face.getCoordinates()[1][1]; + const real_t macro_vertex_coord_id_2comp0 = (real_t) face.getCoordinates()[2][0]; + const real_t macro_vertex_coord_id_2comp1 = (real_t) face.getCoordinates()[2][1]; + WALBERLA_CHECK_NOT_NULLPTR( + std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() ), + "This operator requires the AnnulusMap to be registered as GeometryMap on every macro-cell." ) + real_t radRefVertex = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->radRefVertex(); + real_t radRayVertex = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->radRayVertex(); + real_t refVertex_0 = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->refVertex()[0]; + real_t rayVertex_0 = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->rayVertex()[0]; + real_t thrVertex_0 = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->thrVertex()[0]; + real_t refVertex_1 = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->refVertex()[1]; + real_t rayVertex_1 = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->rayVertex()[1]; + real_t thrVertex_1 = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->thrVertex()[1]; + + this->timingTree_->start( "kernel" ); + + toMatrix_macro_2D( + + _data_dst, + _data_kEdge, + _data_kVertex, + _data_srcEdge, + _data_srcVertex, + macro_vertex_coord_id_0comp0, + macro_vertex_coord_id_0comp1, + macro_vertex_coord_id_1comp0, + macro_vertex_coord_id_1comp1, + macro_vertex_coord_id_2comp0, + macro_vertex_coord_id_2comp1, + mat, + micro_edges_per_macro_edge, + micro_edges_per_macro_edge_float, + radRayVertex, + radRefVertex, + rayVertex_0, + rayVertex_1, + refVertex_0, + refVertex_1, + thrVertex_0, + thrVertex_1 ); + this->timingTree_->stop( "kernel" ); + } + } + this->stopTiming( "toMatrix" ); +} + +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/k_mass/P2ToP1ElementwiseKMassAnnulusMap.hpp b/operators/k_mass/P2ToP1ElementwiseKMassAnnulusMap.hpp new file mode 100644 index 0000000000000000000000000000000000000000..9924a202771b45c293a2f29d95c94d79cbf9fff5 --- /dev/null +++ b/operators/k_mass/P2ToP1ElementwiseKMassAnnulusMap.hpp @@ -0,0 +1,142 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + +#pragma once + +#include "core/DataTypes.h" + +#include "hyteg/LikwidWrapper.hpp" +#include "hyteg/communication/Syncing.hpp" +#include "hyteg/edgedofspace/EdgeDoFMacroCell.hpp" +#include "hyteg/geometry/AnnulusMap.hpp" +#include "hyteg/operators/Operator.hpp" +#include "hyteg/p1functionspace/P1Function.hpp" +#include "hyteg/p2functionspace/P2Function.hpp" +#include "hyteg/primitivestorage/PrimitiveStorage.hpp" +#include "hyteg/sparseassembly/SparseMatrixProxy.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +/// Diffusion operator with a scalar coefficient. +/// +/// Geometry map: AnnulusMap +/// +/// Weak formulation +/// +/// u: trial function (space: Lagrange, degree: 2) +/// v: test function (space: Lagrange, degree: 1) +/// k: coefficient (space: Lagrange, degree: 2) +/// +/// ∫ k uv + +class P2ToP1ElementwiseKMassAnnulusMap : public Operator< P2Function< real_t >, P1Function< real_t > > +{ + public: + P2ToP1ElementwiseKMassAnnulusMap( const std::shared_ptr< PrimitiveStorage >& storage, + size_t minLevel, + size_t maxLevel, + const P2Function< real_t >& _k ); + + void apply( const P2Function< real_t >& src, + const P1Function< real_t >& dst, + uint_t level, + DoFType flag, + UpdateType updateType = Replace ) const; + + void toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat, + const P2Function< idx_t >& src, + const P1Function< idx_t >& dst, + uint_t level, + DoFType flag ) const; + + protected: + private: + /// Kernel type: apply + /// - quadrature rule: Dunavant 4 | points: 6, degree: 4 + /// - operations per element: + /// adds muls divs pows abs assignments function_calls unknown_ops + /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- + /// 404 444 18 12 6 0 0 1 + void apply_macro_2D( real_t* RESTRICT _data_dst, + real_t* RESTRICT _data_kEdge, + real_t* RESTRICT _data_kVertex, + real_t* RESTRICT _data_srcEdge, + real_t* RESTRICT _data_srcVertex, + real_t macro_vertex_coord_id_0comp0, + real_t macro_vertex_coord_id_0comp1, + real_t macro_vertex_coord_id_1comp0, + real_t macro_vertex_coord_id_1comp1, + real_t macro_vertex_coord_id_2comp0, + real_t macro_vertex_coord_id_2comp1, + int64_t micro_edges_per_macro_edge, + real_t micro_edges_per_macro_edge_float, + real_t radRayVertex, + real_t radRefVertex, + real_t rayVertex_0, + real_t rayVertex_1, + real_t refVertex_0, + real_t refVertex_1, + real_t thrVertex_0, + real_t thrVertex_1 ) const; + /// Kernel type: toMatrix + /// - quadrature rule: Dunavant 4 | points: 6, degree: 4 + /// - operations per element: + /// adds muls divs pows abs assignments function_calls unknown_ops + /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- + /// 386 426 18 12 6 0 0 4 + void toMatrix_macro_2D( idx_t* RESTRICT _data_dst, + real_t* RESTRICT _data_kEdge, + real_t* RESTRICT _data_kVertex, + idx_t* RESTRICT _data_srcEdge, + idx_t* RESTRICT _data_srcVertex, + real_t macro_vertex_coord_id_0comp0, + real_t macro_vertex_coord_id_0comp1, + real_t macro_vertex_coord_id_1comp0, + real_t macro_vertex_coord_id_1comp1, + real_t macro_vertex_coord_id_2comp0, + real_t macro_vertex_coord_id_2comp1, + std::shared_ptr< SparseMatrixProxy > mat, + int64_t micro_edges_per_macro_edge, + real_t micro_edges_per_macro_edge_float, + real_t radRayVertex, + real_t radRefVertex, + real_t rayVertex_0, + real_t rayVertex_1, + real_t refVertex_0, + real_t refVertex_1, + real_t thrVertex_0, + real_t thrVertex_1 ) const; + + P2Function< real_t > k; +}; + +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/k_mass/P2ToP1ElementwiseKMassIcosahedralShellMap.cpp b/operators/k_mass/P2ToP1ElementwiseKMassIcosahedralShellMap.cpp new file mode 100644 index 0000000000000000000000000000000000000000..c76482abe4e796ac67ea3cf97017134733c5e069 --- /dev/null +++ b/operators/k_mass/P2ToP1ElementwiseKMassIcosahedralShellMap.cpp @@ -0,0 +1,329 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + +// Unfortunately, the inverse diagonal kernel wrapper triggers a GCC bug (maybe +// (related to) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107087) causing a +// warning in an internal standard library header (bits/stl_algobase.h). As a +// workaround, we disable the warning and include this header indirectly through +// a public header. +#include <waLBerlaDefinitions.h> +#ifdef WALBERLA_CXX_COMPILER_IS_GNU +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wnonnull" +#endif +#include <cmath> +#ifdef WALBERLA_CXX_COMPILER_IS_GNU +#pragma GCC diagnostic pop +#endif + +#include "P2ToP1ElementwiseKMassIcosahedralShellMap.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +P2ToP1ElementwiseKMassIcosahedralShellMap::P2ToP1ElementwiseKMassIcosahedralShellMap( + const std::shared_ptr< PrimitiveStorage >& storage, + size_t minLevel, + size_t maxLevel, + const P2Function< real_t >& _k ) +: Operator( storage, minLevel, maxLevel ) +, k( _k ) +{} + +void P2ToP1ElementwiseKMassIcosahedralShellMap::apply( const P2Function< real_t >& src, + const P1Function< real_t >& dst, + uint_t level, + DoFType flag, + UpdateType updateType ) const +{ + this->startTiming( "apply" ); + + // Make sure that halos are up-to-date + this->timingTree_->start( "pre-communication" ); + if ( this->storage_->hasGlobalCells() ) + { + // Note that the order of communication is important, since the face -> cell communication may overwrite + // parts of the halos that carry the macro-vertex and macro-edge unknowns. + src.communicate< Face, Cell >( level ); + src.communicate< Edge, Cell >( level ); + src.communicate< Vertex, Cell >( level ); + k.communicate< Face, Cell >( level ); + k.communicate< Edge, Cell >( level ); + k.communicate< Vertex, Cell >( level ); + } + else + { + WALBERLA_ABORT( "Not implemented." ); + } + this->timingTree_->stop( "pre-communication" ); + + if ( updateType == Replace ) + { + // We need to zero the destination array (including halos). + // However, we must not zero out anything that is not flagged with the specified BCs. + // Therefore, we first zero out everything that flagged, and then, later, + // the halos of the highest dim primitives. + dst.interpolate( walberla::numeric_cast< real_t >( 0 ), level, flag ); + } + + if ( storage_->hasGlobalCells() ) + { + for ( auto& it : storage_->getCells() ) + { + Cell& cell = *it.second; + + // get hold of the actual numerical data in the functions + real_t* _data_srcVertex = cell.getData( src.getVertexDoFFunction().getCellDataID() )->getPointer( level ); + real_t* _data_srcEdge = cell.getData( src.getEdgeDoFFunction().getCellDataID() )->getPointer( level ); + real_t* _data_dst = cell.getData( dst.getCellDataID() )->getPointer( level ); + real_t* _data_kVertex = cell.getData( k.getVertexDoFFunction().getCellDataID() )->getPointer( level ); + real_t* _data_kEdge = cell.getData( k.getEdgeDoFFunction().getCellDataID() )->getPointer( level ); + + // Zero out dst halos only + // + // This is also necessary when using update type == Add. + // During additive comm we then skip zeroing the data on the lower-dim primitives. + for ( const auto& idx : vertexdof::macrocell::Iterator( level ) ) + { + if ( !vertexdof::macrocell::isOnCellFace( idx, level ).empty() ) + { + auto arrayIdx = vertexdof::macrocell::index( level, idx.x(), idx.y(), idx.z() ); + _data_dst[arrayIdx] = real_t( 0 ); + } + } + + const auto micro_edges_per_macro_edge = (int64_t) levelinfo::num_microedges_per_edge( level ); + const auto micro_edges_per_macro_edge_float = (real_t) levelinfo::num_microedges_per_edge( level ); + const real_t macro_vertex_coord_id_0comp0 = (real_t) cell.getCoordinates()[0][0]; + const real_t macro_vertex_coord_id_0comp1 = (real_t) cell.getCoordinates()[0][1]; + const real_t macro_vertex_coord_id_0comp2 = (real_t) cell.getCoordinates()[0][2]; + const real_t macro_vertex_coord_id_1comp0 = (real_t) cell.getCoordinates()[1][0]; + const real_t macro_vertex_coord_id_1comp1 = (real_t) cell.getCoordinates()[1][1]; + const real_t macro_vertex_coord_id_1comp2 = (real_t) cell.getCoordinates()[1][2]; + const real_t macro_vertex_coord_id_2comp0 = (real_t) cell.getCoordinates()[2][0]; + const real_t macro_vertex_coord_id_2comp1 = (real_t) cell.getCoordinates()[2][1]; + const real_t macro_vertex_coord_id_2comp2 = (real_t) cell.getCoordinates()[2][2]; + const real_t macro_vertex_coord_id_3comp0 = (real_t) cell.getCoordinates()[3][0]; + const real_t macro_vertex_coord_id_3comp1 = (real_t) cell.getCoordinates()[3][1]; + const real_t macro_vertex_coord_id_3comp2 = (real_t) cell.getCoordinates()[3][2]; + WALBERLA_CHECK_NOT_NULLPTR( + std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() ), + "This operator requires the IcosahedralShellMap to be registered as GeometryMap on every macro-cell." ) + real_t radRefVertex = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->radRefVertex(); + real_t radRayVertex = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->radRayVertex(); + real_t refVertex_0 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->refVertex()[0]; + real_t rayVertex_0 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->rayVertex()[0]; + real_t thrVertex_0 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->thrVertex()[0]; + real_t forVertex_0 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->forVertex()[0]; + real_t refVertex_1 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->refVertex()[1]; + real_t rayVertex_1 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->rayVertex()[1]; + real_t thrVertex_1 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->thrVertex()[1]; + real_t forVertex_1 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->forVertex()[1]; + real_t refVertex_2 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->refVertex()[2]; + real_t rayVertex_2 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->rayVertex()[2]; + real_t thrVertex_2 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->thrVertex()[2]; + real_t forVertex_2 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->forVertex()[2]; + + this->timingTree_->start( "kernel" ); + + apply_macro_3D( + + _data_dst, + _data_kEdge, + _data_kVertex, + _data_srcEdge, + _data_srcVertex, + forVertex_0, + forVertex_1, + forVertex_2, + macro_vertex_coord_id_0comp0, + macro_vertex_coord_id_0comp1, + macro_vertex_coord_id_0comp2, + macro_vertex_coord_id_1comp0, + macro_vertex_coord_id_1comp1, + macro_vertex_coord_id_1comp2, + macro_vertex_coord_id_2comp0, + macro_vertex_coord_id_2comp1, + macro_vertex_coord_id_2comp2, + macro_vertex_coord_id_3comp0, + macro_vertex_coord_id_3comp1, + macro_vertex_coord_id_3comp2, + micro_edges_per_macro_edge, + micro_edges_per_macro_edge_float, + radRayVertex, + radRefVertex, + rayVertex_0, + rayVertex_1, + rayVertex_2, + refVertex_0, + refVertex_1, + refVertex_2, + thrVertex_0, + thrVertex_1, + thrVertex_2 ); + this->timingTree_->stop( "kernel" ); + } + + // Push result to lower-dimensional primitives + // + this->timingTree_->start( "post-communication" ); + // Note: We could avoid communication here by implementing the apply() also for the respective + // lower dimensional primitives! + dst.communicateAdditively< Cell, Face >( level, DoFType::All ^ flag, *storage_, updateType == Replace ); + dst.communicateAdditively< Cell, Edge >( level, DoFType::All ^ flag, *storage_, updateType == Replace ); + dst.communicateAdditively< Cell, Vertex >( level, DoFType::All ^ flag, *storage_, updateType == Replace ); + this->timingTree_->stop( "post-communication" ); + } + else + { + WALBERLA_ABORT( "Not implemented." ); + } + + this->stopTiming( "apply" ); +} +void P2ToP1ElementwiseKMassIcosahedralShellMap::toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat, + const P2Function< idx_t >& src, + const P1Function< idx_t >& dst, + uint_t level, + DoFType flag ) const +{ + this->startTiming( "toMatrix" ); + + // We currently ignore the flag provided! + if ( flag != All ) + { + WALBERLA_LOG_WARNING_ON_ROOT( "Input flag ignored in toMatrix; using flag = All" ); + } + + if ( storage_->hasGlobalCells() ) + { + this->timingTree_->start( "pre-communication" ); + k.communicate< Face, Cell >( level ); + k.communicate< Edge, Cell >( level ); + k.communicate< Vertex, Cell >( level ); + this->timingTree_->stop( "pre-communication" ); + + for ( auto& it : storage_->getCells() ) + { + Cell& cell = *it.second; + + // get hold of the actual numerical data + idx_t* _data_srcVertex = cell.getData( src.getVertexDoFFunction().getCellDataID() )->getPointer( level ); + idx_t* _data_srcEdge = cell.getData( src.getEdgeDoFFunction().getCellDataID() )->getPointer( level ); + idx_t* _data_dst = cell.getData( dst.getCellDataID() )->getPointer( level ); + real_t* _data_kVertex = cell.getData( k.getVertexDoFFunction().getCellDataID() )->getPointer( level ); + real_t* _data_kEdge = cell.getData( k.getEdgeDoFFunction().getCellDataID() )->getPointer( level ); + + const auto micro_edges_per_macro_edge = (int64_t) levelinfo::num_microedges_per_edge( level ); + const auto micro_edges_per_macro_edge_float = (real_t) levelinfo::num_microedges_per_edge( level ); + const real_t macro_vertex_coord_id_0comp0 = (real_t) cell.getCoordinates()[0][0]; + const real_t macro_vertex_coord_id_0comp1 = (real_t) cell.getCoordinates()[0][1]; + const real_t macro_vertex_coord_id_0comp2 = (real_t) cell.getCoordinates()[0][2]; + const real_t macro_vertex_coord_id_1comp0 = (real_t) cell.getCoordinates()[1][0]; + const real_t macro_vertex_coord_id_1comp1 = (real_t) cell.getCoordinates()[1][1]; + const real_t macro_vertex_coord_id_1comp2 = (real_t) cell.getCoordinates()[1][2]; + const real_t macro_vertex_coord_id_2comp0 = (real_t) cell.getCoordinates()[2][0]; + const real_t macro_vertex_coord_id_2comp1 = (real_t) cell.getCoordinates()[2][1]; + const real_t macro_vertex_coord_id_2comp2 = (real_t) cell.getCoordinates()[2][2]; + const real_t macro_vertex_coord_id_3comp0 = (real_t) cell.getCoordinates()[3][0]; + const real_t macro_vertex_coord_id_3comp1 = (real_t) cell.getCoordinates()[3][1]; + const real_t macro_vertex_coord_id_3comp2 = (real_t) cell.getCoordinates()[3][2]; + WALBERLA_CHECK_NOT_NULLPTR( + std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() ), + "This operator requires the IcosahedralShellMap to be registered as GeometryMap on every macro-cell." ) + real_t radRefVertex = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->radRefVertex(); + real_t radRayVertex = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->radRayVertex(); + real_t refVertex_0 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->refVertex()[0]; + real_t rayVertex_0 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->rayVertex()[0]; + real_t thrVertex_0 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->thrVertex()[0]; + real_t forVertex_0 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->forVertex()[0]; + real_t refVertex_1 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->refVertex()[1]; + real_t rayVertex_1 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->rayVertex()[1]; + real_t thrVertex_1 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->thrVertex()[1]; + real_t forVertex_1 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->forVertex()[1]; + real_t refVertex_2 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->refVertex()[2]; + real_t rayVertex_2 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->rayVertex()[2]; + real_t thrVertex_2 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->thrVertex()[2]; + real_t forVertex_2 = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->forVertex()[2]; + + this->timingTree_->start( "kernel" ); + + toMatrix_macro_3D( + + _data_dst, + _data_kEdge, + _data_kVertex, + _data_srcEdge, + _data_srcVertex, + forVertex_0, + forVertex_1, + forVertex_2, + macro_vertex_coord_id_0comp0, + macro_vertex_coord_id_0comp1, + macro_vertex_coord_id_0comp2, + macro_vertex_coord_id_1comp0, + macro_vertex_coord_id_1comp1, + macro_vertex_coord_id_1comp2, + macro_vertex_coord_id_2comp0, + macro_vertex_coord_id_2comp1, + macro_vertex_coord_id_2comp2, + macro_vertex_coord_id_3comp0, + macro_vertex_coord_id_3comp1, + macro_vertex_coord_id_3comp2, + mat, + micro_edges_per_macro_edge, + micro_edges_per_macro_edge_float, + radRayVertex, + radRefVertex, + rayVertex_0, + rayVertex_1, + rayVertex_2, + refVertex_0, + refVertex_1, + refVertex_2, + thrVertex_0, + thrVertex_1, + thrVertex_2 ); + this->timingTree_->stop( "kernel" ); + } + } + else + { + this->timingTree_->start( "pre-communication" ); + communication::syncFunctionBetweenPrimitives( k, level, communication::syncDirection_t::LOW2HIGH ); + this->timingTree_->stop( "pre-communication" ); + + WALBERLA_ABORT( "Not implemented." ); + } + this->stopTiming( "toMatrix" ); +} + +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/k_mass/P2ToP1ElementwiseKMassIcosahedralShellMap.hpp b/operators/k_mass/P2ToP1ElementwiseKMassIcosahedralShellMap.hpp new file mode 100644 index 0000000000000000000000000000000000000000..e60fcf2aec1e21753d519a8c3d65a45d5e6bbd96 --- /dev/null +++ b/operators/k_mass/P2ToP1ElementwiseKMassIcosahedralShellMap.hpp @@ -0,0 +1,166 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + +#pragma once + +#include "core/DataTypes.h" + +#include "hyteg/LikwidWrapper.hpp" +#include "hyteg/communication/Syncing.hpp" +#include "hyteg/edgedofspace/EdgeDoFMacroCell.hpp" +#include "hyteg/geometry/IcosahedralShellMap.hpp" +#include "hyteg/operators/Operator.hpp" +#include "hyteg/p1functionspace/P1Function.hpp" +#include "hyteg/p2functionspace/P2Function.hpp" +#include "hyteg/primitivestorage/PrimitiveStorage.hpp" +#include "hyteg/sparseassembly/SparseMatrixProxy.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +/// Diffusion operator with a scalar coefficient. +/// +/// Geometry map: IcosahedralShellMap +/// +/// Weak formulation +/// +/// u: trial function (space: Lagrange, degree: 2) +/// v: test function (space: Lagrange, degree: 1) +/// k: coefficient (space: Lagrange, degree: 2) +/// +/// ∫ k uv + +class P2ToP1ElementwiseKMassIcosahedralShellMap : public Operator< P2Function< real_t >, P1Function< real_t > > +{ + public: + P2ToP1ElementwiseKMassIcosahedralShellMap( const std::shared_ptr< PrimitiveStorage >& storage, + size_t minLevel, + size_t maxLevel, + const P2Function< real_t >& _k ); + + void apply( const P2Function< real_t >& src, + const P1Function< real_t >& dst, + uint_t level, + DoFType flag, + UpdateType updateType = Replace ) const; + + void toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat, + const P2Function< idx_t >& src, + const P1Function< idx_t >& dst, + uint_t level, + DoFType flag ) const; + + protected: + private: + /// Kernel type: apply + /// - quadrature rule: Jaśkowiec-Sukumar 04 | points: 11, degree: 4 + /// - operations per element: + /// adds muls divs pows abs assignments function_calls unknown_ops + /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- + /// 1552 1795 47 11 11 0 0 1 + void apply_macro_3D( real_t* RESTRICT _data_dst, + real_t* RESTRICT _data_kEdge, + real_t* RESTRICT _data_kVertex, + real_t* RESTRICT _data_srcEdge, + real_t* RESTRICT _data_srcVertex, + real_t forVertex_0, + real_t forVertex_1, + real_t forVertex_2, + real_t macro_vertex_coord_id_0comp0, + real_t macro_vertex_coord_id_0comp1, + real_t macro_vertex_coord_id_0comp2, + real_t macro_vertex_coord_id_1comp0, + real_t macro_vertex_coord_id_1comp1, + real_t macro_vertex_coord_id_1comp2, + real_t macro_vertex_coord_id_2comp0, + real_t macro_vertex_coord_id_2comp1, + real_t macro_vertex_coord_id_2comp2, + real_t macro_vertex_coord_id_3comp0, + real_t macro_vertex_coord_id_3comp1, + real_t macro_vertex_coord_id_3comp2, + int64_t micro_edges_per_macro_edge, + real_t micro_edges_per_macro_edge_float, + real_t radRayVertex, + real_t radRefVertex, + real_t rayVertex_0, + real_t rayVertex_1, + real_t rayVertex_2, + real_t refVertex_0, + real_t refVertex_1, + real_t refVertex_2, + real_t thrVertex_0, + real_t thrVertex_1, + real_t thrVertex_2 ) const; + /// Kernel type: toMatrix + /// - quadrature rule: Jaśkowiec-Sukumar 04 | points: 11, degree: 4 + /// - operations per element: + /// adds muls divs pows abs assignments function_calls unknown_ops + /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- + /// 1512 1755 47 11 11 0 0 4 + void toMatrix_macro_3D( idx_t* RESTRICT _data_dst, + real_t* RESTRICT _data_kEdge, + real_t* RESTRICT _data_kVertex, + idx_t* RESTRICT _data_srcEdge, + idx_t* RESTRICT _data_srcVertex, + real_t forVertex_0, + real_t forVertex_1, + real_t forVertex_2, + real_t macro_vertex_coord_id_0comp0, + real_t macro_vertex_coord_id_0comp1, + real_t macro_vertex_coord_id_0comp2, + real_t macro_vertex_coord_id_1comp0, + real_t macro_vertex_coord_id_1comp1, + real_t macro_vertex_coord_id_1comp2, + real_t macro_vertex_coord_id_2comp0, + real_t macro_vertex_coord_id_2comp1, + real_t macro_vertex_coord_id_2comp2, + real_t macro_vertex_coord_id_3comp0, + real_t macro_vertex_coord_id_3comp1, + real_t macro_vertex_coord_id_3comp2, + std::shared_ptr< SparseMatrixProxy > mat, + int64_t micro_edges_per_macro_edge, + real_t micro_edges_per_macro_edge_float, + real_t radRayVertex, + real_t radRefVertex, + real_t rayVertex_0, + real_t rayVertex_1, + real_t rayVertex_2, + real_t refVertex_0, + real_t refVertex_1, + real_t refVertex_2, + real_t thrVertex_0, + real_t thrVertex_1, + real_t thrVertex_2 ) const; + + P2Function< real_t > k; +}; + +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/k_mass/avx/P2ToP1ElementwiseKMassAnnulusMap_apply_macro_2D.cpp b/operators/k_mass/avx/P2ToP1ElementwiseKMassAnnulusMap_apply_macro_2D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..56e42f882dd9c23dabd44d5f809da1f8def16abe --- /dev/null +++ b/operators/k_mass/avx/P2ToP1ElementwiseKMassAnnulusMap_apply_macro_2D.cpp @@ -0,0 +1,585 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + + + + + + + + + + + + + + + + + + + + + + + + + + + +#include "../P2ToP1ElementwiseKMassAnnulusMap.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P2ToP1ElementwiseKMassAnnulusMap::apply_macro_2D( real_t * RESTRICT _data_dst, real_t * RESTRICT _data_kEdge, real_t * RESTRICT _data_kVertex, real_t * RESTRICT _data_srcEdge, real_t * RESTRICT _data_srcVertex, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float, real_t radRayVertex, real_t radRefVertex, real_t rayVertex_0, real_t rayVertex_1, real_t refVertex_0, real_t refVertex_1, real_t thrVertex_0, real_t thrVertex_1 ) const +{ + { + const real_t _data_q_w [] = {0.11169079483900581, 0.054975871827660949, 0.11169079483900581, 0.054975871827660949, 0.11169079483900581, 0.054975871827660949}; + + const real_t _data_q_p_0 [] = {0.44594849091596489, 0.091576213509770715, 0.10810301816807022, 0.81684757298045851, 0.44594849091596489, 0.091576213509770715}; + + const real_t _data_q_p_1 [] = {0.10810301816807022, 0.81684757298045851, 0.44594849091596489, 0.091576213509770715, 0.44594849091596489, 0.091576213509770715}; + + const real_t tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0; + const real_t p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1; + const real_t p_affine_const_1_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t p_affine_const_1_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t p_affine_const_2_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t p_affine_const_2_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY; + const real_t jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY; + const real_t jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY; + const real_t jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY; + const real_t abs_det_jac_affine_GRAY = abs(jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY); + const real_t tmp_qloop_5 = rayVertex_1 - thrVertex_1; + const real_t tmp_qloop_11 = rayVertex_0 - thrVertex_0; + const real_t tmp_qloop_12 = (radRayVertex - radRefVertex)*1.0 / (-tmp_qloop_11*(rayVertex_1 - refVertex_1) + tmp_qloop_5*(rayVertex_0 - refVertex_0)); + { + /* FaceType.GRAY */ + const real_t _data_phi_psi_jac_affine_det_0_0_GRAY [] = {((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337108)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428435066)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926711)), ((real_t)(abs_det_jac_affine_GRAY*-0.006850249469692685)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425765)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877074)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877075)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888579)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926685)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425751)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877073)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877074)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808810999)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*0.42282672224882095)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524447)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524458)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770705)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*-0.005211471142843504)), ((real_t)(abs_det_jac_affine_GRAY*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337108)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926625)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425779)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926867)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770747)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888588)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770757)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808810909)), ((real_t)(abs_det_jac_affine_GRAY*0.42282672224882095)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524447)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770705)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524458)), ((real_t)(abs_det_jac_affine_GRAY*-0.006850249469692659)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425751)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877073)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877074)), ((real_t)(abs_det_jac_affine_GRAY*-0.0091596220343278956)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337108)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373978)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373978)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778429)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778429)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*0.42282672224882117)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877073)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524444)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524444)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425772)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425772)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726))}; + + for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1) + { + for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 += 4) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + + const __m256d p_affine_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_2_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_2_1 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]); + const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]); + const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]); + const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]); + const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]); + const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]); + const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]); + const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]); + const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]); + const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 6; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_4 = _mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_1_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_0_0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_2_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_0_0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,tmp_qloop_6); + const __m256d tmp_qloop_8 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_1_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_0_1),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_2_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_0_1),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,tmp_qloop_8); + const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_7,tmp_qloop_9); + const __m256d tmp_qloop_13 = _mm256_mul_pd(_mm256_mul_pd(_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_sqrt_pd(tmp_qloop_10)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_12,tmp_qloop_12,tmp_qloop_12,tmp_qloop_12)); + const __m256d tmp_qloop_14 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_6); + const __m256d tmp_qloop_15 = _mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(rayVertex_1,rayVertex_1,rayVertex_1,rayVertex_1),tmp_qloop_8),_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(rayVertex_0,rayVertex_0,rayVertex_0,rayVertex_0),tmp_qloop_6),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_5,tmp_qloop_5,tmp_qloop_5,tmp_qloop_5))); + const __m256d tmp_qloop_16 = _mm256_mul_pd(_mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_10),_mm256_mul_pd(tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(1.0,1.0,1.0,1.0)); + const __m256d tmp_qloop_17 = _mm256_mul_pd(tmp_qloop_16,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(tmp_qloop_12,tmp_qloop_12,tmp_qloop_12,tmp_qloop_12)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex))); + const __m256d tmp_qloop_18 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_8); + const __m256d tmp_qloop_19 = _mm256_mul_pd(tmp_qloop_16,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(tmp_qloop_12,tmp_qloop_12,tmp_qloop_12,tmp_qloop_12)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex))); + const __m256d tmp_qloop_20 = _mm256_mul_pd(tmp_qloop_6,tmp_qloop_8); + const __m256d tmp_qloop_21 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_2)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_4))),_mm256_mul_pd(k_dof_5,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))))),_mm256_mul_pd(k_dof_4,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_0),tmp_qloop_2),tmp_qloop_4))),_mm256_mul_pd(k_dof_3,tmp_qloop_0)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_castsi256_pd(_mm256_and_si256(_mm256_set1_epi64x(0x7fffffffffffffff), _mm256_castpd_si256(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_20),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_5,tmp_qloop_5,tmp_qloop_5,tmp_qloop_5)),_mm256_mul_pd(tmp_qloop_17,tmp_qloop_20))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(tmp_qloop_5,tmp_qloop_5,tmp_qloop_5,tmp_qloop_5)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_9),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)),_mm256_mul_pd(tmp_qloop_19,tmp_qloop_7))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))))))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5])); + const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9])); + const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10])); + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11])); + const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12])); + const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16])); + const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1); + q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2); + q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3); + q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4); + q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5); + q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2); + q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3); + q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4); + q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5); + q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0); + q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3); + q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4); + q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5); + } + const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)); + const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)); + const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 < -ctr_1 + micro_edges_per_macro_edge; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0; + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t src_dof_3 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t k_dof_3 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + for (int64_t q = 0; q < 6; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q]; + const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_2 = tmp_qloop_1*2.0; + const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_4 = tmp_qloop_3*2.0; + const real_t tmp_qloop_6 = -p_affine_0_0 + (p_affine_0_0 - p_affine_1_0)*_data_q_p_0[q] + (p_affine_0_0 - p_affine_2_0)*_data_q_p_1[q]; + const real_t tmp_qloop_7 = (tmp_qloop_6*tmp_qloop_6); + const real_t tmp_qloop_8 = -p_affine_0_1 + (p_affine_0_1 - p_affine_1_1)*_data_q_p_0[q] + (p_affine_0_1 - p_affine_2_1)*_data_q_p_1[q]; + const real_t tmp_qloop_9 = (tmp_qloop_8*tmp_qloop_8); + const real_t tmp_qloop_10 = tmp_qloop_7 + tmp_qloop_9; + const real_t tmp_qloop_13 = pow(tmp_qloop_10, -0.50000000000000000)*tmp_qloop_12*1.0; + const real_t tmp_qloop_14 = tmp_qloop_13*tmp_qloop_6; + const real_t tmp_qloop_15 = tmp_qloop_11*(rayVertex_1 + tmp_qloop_8) - tmp_qloop_5*(rayVertex_0 + tmp_qloop_6); + const real_t tmp_qloop_16 = pow(tmp_qloop_10, -1.5000000000000000)*1.0; + const real_t tmp_qloop_17 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15); + const real_t tmp_qloop_18 = tmp_qloop_13*tmp_qloop_8; + const real_t tmp_qloop_19 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15); + const real_t tmp_qloop_20 = tmp_qloop_6*tmp_qloop_8; + const real_t tmp_qloop_21 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*abs((tmp_qloop_11*tmp_qloop_14 - tmp_qloop_19*tmp_qloop_20)*(tmp_qloop_17*tmp_qloop_20 + tmp_qloop_18*tmp_qloop_5) - (tmp_qloop_11*tmp_qloop_18 + tmp_qloop_19*tmp_qloop_7)*(tmp_qloop_14*tmp_qloop_5 - tmp_qloop_17*tmp_qloop_9))*_data_q_w[q]; + const real_t q_tmp_0_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q]; + const real_t q_tmp_0_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5]; + const real_t q_tmp_1_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6]; + const real_t q_tmp_1_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7]; + const real_t q_tmp_1_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8]; + const real_t q_tmp_1_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9]; + const real_t q_tmp_1_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10]; + const real_t q_tmp_1_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11]; + const real_t q_tmp_2_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12]; + const real_t q_tmp_2_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13]; + const real_t q_tmp_2_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14]; + const real_t q_tmp_2_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15]; + const real_t q_tmp_2_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16]; + const real_t q_tmp_2_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5; + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + } + } + } + const real_t tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE; + const real_t p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE; + const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE; + const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE; + const real_t p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE; + const real_t p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE; + const real_t jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE; + const real_t jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE; + const real_t jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE; + const real_t jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE; + const real_t abs_det_jac_affine_BLUE = abs(jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE); + { + /* FaceType.BLUE */ + const real_t _data_phi_psi_jac_affine_det_0_0_BLUE [] = {((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337108)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428435066)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926711)), ((real_t)(abs_det_jac_affine_BLUE*-0.006850249469692685)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425765)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877074)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877075)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888579)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926685)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425751)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877073)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877074)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808810999)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*0.42282672224882095)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524447)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524458)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770705)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*-0.005211471142843504)), ((real_t)(abs_det_jac_affine_BLUE*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337108)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926625)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425779)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926867)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770747)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888588)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770757)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808810909)), ((real_t)(abs_det_jac_affine_BLUE*0.42282672224882095)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524447)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770705)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524458)), ((real_t)(abs_det_jac_affine_BLUE*-0.006850249469692659)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425751)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877073)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877074)), ((real_t)(abs_det_jac_affine_BLUE*-0.0091596220343278956)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337108)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373978)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373978)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778429)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778429)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*0.42282672224882117)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877073)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524444)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524444)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425772)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425772)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726))}; + + for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1) + { + for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + + const __m256d p_affine_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_2_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_2_1 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]); + const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]); + const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]); + const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]); + const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]); + const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]); + const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]); + const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]); + const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]); + const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 6; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_4 = _mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_1_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_0_0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_2_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_0_0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,tmp_qloop_6); + const __m256d tmp_qloop_8 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_1_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_0_1),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_2_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_0_1),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,tmp_qloop_8); + const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_7,tmp_qloop_9); + const __m256d tmp_qloop_13 = _mm256_mul_pd(_mm256_mul_pd(_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_sqrt_pd(tmp_qloop_10)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_12,tmp_qloop_12,tmp_qloop_12,tmp_qloop_12)); + const __m256d tmp_qloop_14 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_6); + const __m256d tmp_qloop_15 = _mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(rayVertex_1,rayVertex_1,rayVertex_1,rayVertex_1),tmp_qloop_8),_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(rayVertex_0,rayVertex_0,rayVertex_0,rayVertex_0),tmp_qloop_6),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_5,tmp_qloop_5,tmp_qloop_5,tmp_qloop_5))); + const __m256d tmp_qloop_16 = _mm256_mul_pd(_mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_10),_mm256_mul_pd(tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(1.0,1.0,1.0,1.0)); + const __m256d tmp_qloop_17 = _mm256_mul_pd(tmp_qloop_16,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(tmp_qloop_12,tmp_qloop_12,tmp_qloop_12,tmp_qloop_12)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex))); + const __m256d tmp_qloop_18 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_8); + const __m256d tmp_qloop_19 = _mm256_mul_pd(tmp_qloop_16,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(tmp_qloop_12,tmp_qloop_12,tmp_qloop_12,tmp_qloop_12)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex))); + const __m256d tmp_qloop_20 = _mm256_mul_pd(tmp_qloop_6,tmp_qloop_8); + const __m256d tmp_qloop_21 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_2)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_4))),_mm256_mul_pd(k_dof_5,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))))),_mm256_mul_pd(k_dof_4,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_0),tmp_qloop_2),tmp_qloop_4))),_mm256_mul_pd(k_dof_3,tmp_qloop_0)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_castsi256_pd(_mm256_and_si256(_mm256_set1_epi64x(0x7fffffffffffffff), _mm256_castpd_si256(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_20),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_5,tmp_qloop_5,tmp_qloop_5,tmp_qloop_5)),_mm256_mul_pd(tmp_qloop_17,tmp_qloop_20))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(tmp_qloop_5,tmp_qloop_5,tmp_qloop_5,tmp_qloop_5)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_9),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)),_mm256_mul_pd(tmp_qloop_19,tmp_qloop_7))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))))))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5])); + const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9])); + const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10])); + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11])); + const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12])); + const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16])); + const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1); + q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2); + q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3); + q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4); + q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5); + q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2); + q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3); + q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4); + q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5); + q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0); + q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3); + q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4); + q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5); + } + const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)); + const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)); + const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0; + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + const real_t src_dof_3 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + const real_t k_dof_3 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + for (int64_t q = 0; q < 6; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q]; + const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_2 = tmp_qloop_1*2.0; + const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_4 = tmp_qloop_3*2.0; + const real_t tmp_qloop_6 = -p_affine_0_0 + (p_affine_0_0 - p_affine_1_0)*_data_q_p_0[q] + (p_affine_0_0 - p_affine_2_0)*_data_q_p_1[q]; + const real_t tmp_qloop_7 = (tmp_qloop_6*tmp_qloop_6); + const real_t tmp_qloop_8 = -p_affine_0_1 + (p_affine_0_1 - p_affine_1_1)*_data_q_p_0[q] + (p_affine_0_1 - p_affine_2_1)*_data_q_p_1[q]; + const real_t tmp_qloop_9 = (tmp_qloop_8*tmp_qloop_8); + const real_t tmp_qloop_10 = tmp_qloop_7 + tmp_qloop_9; + const real_t tmp_qloop_13 = pow(tmp_qloop_10, -0.50000000000000000)*tmp_qloop_12*1.0; + const real_t tmp_qloop_14 = tmp_qloop_13*tmp_qloop_6; + const real_t tmp_qloop_15 = tmp_qloop_11*(rayVertex_1 + tmp_qloop_8) - tmp_qloop_5*(rayVertex_0 + tmp_qloop_6); + const real_t tmp_qloop_16 = pow(tmp_qloop_10, -1.5000000000000000)*1.0; + const real_t tmp_qloop_17 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15); + const real_t tmp_qloop_18 = tmp_qloop_13*tmp_qloop_8; + const real_t tmp_qloop_19 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15); + const real_t tmp_qloop_20 = tmp_qloop_6*tmp_qloop_8; + const real_t tmp_qloop_21 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*abs((tmp_qloop_11*tmp_qloop_14 - tmp_qloop_19*tmp_qloop_20)*(tmp_qloop_17*tmp_qloop_20 + tmp_qloop_18*tmp_qloop_5) - (tmp_qloop_11*tmp_qloop_18 + tmp_qloop_19*tmp_qloop_7)*(tmp_qloop_14*tmp_qloop_5 - tmp_qloop_17*tmp_qloop_9))*_data_q_w[q]; + const real_t q_tmp_0_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q]; + const real_t q_tmp_0_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5]; + const real_t q_tmp_1_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6]; + const real_t q_tmp_1_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7]; + const real_t q_tmp_1_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8]; + const real_t q_tmp_1_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9]; + const real_t q_tmp_1_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10]; + const real_t q_tmp_1_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11]; + const real_t q_tmp_2_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12]; + const real_t q_tmp_2_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13]; + const real_t q_tmp_2_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14]; + const real_t q_tmp_2_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15]; + const real_t q_tmp_2_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16]; + const real_t q_tmp_2_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5; + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + } + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/k_mass/avx/P2ToP1ElementwiseKMassIcosahedralShellMap_apply_macro_3D.cpp b/operators/k_mass/avx/P2ToP1ElementwiseKMassIcosahedralShellMap_apply_macro_3D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..62491f0c64a8301598031b85211ff60b48fcbf71 --- /dev/null +++ b/operators/k_mass/avx/P2ToP1ElementwiseKMassIcosahedralShellMap_apply_macro_3D.cpp @@ -0,0 +1,2972 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + + + + + + + + + + + + + + + + + + + + + + + + + + + +#include "../P2ToP1ElementwiseKMassIcosahedralShellMap.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P2ToP1ElementwiseKMassIcosahedralShellMap::apply_macro_3D( real_t * RESTRICT _data_dst, real_t * RESTRICT _data_kEdge, real_t * RESTRICT _data_kVertex, real_t * RESTRICT _data_srcEdge, real_t * RESTRICT _data_srcVertex, real_t forVertex_0, real_t forVertex_1, real_t forVertex_2, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_0comp2, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_1comp2, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, real_t macro_vertex_coord_id_2comp2, real_t macro_vertex_coord_id_3comp0, real_t macro_vertex_coord_id_3comp1, real_t macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float, real_t radRayVertex, real_t radRefVertex, real_t rayVertex_0, real_t rayVertex_1, real_t rayVertex_2, real_t refVertex_0, real_t refVertex_1, real_t refVertex_2, real_t thrVertex_0, real_t thrVertex_1, real_t thrVertex_2 ) const +{ + { + const real_t _data_q_w [] = {0.02364442875776411, 0.0041220137385117907, 0.025486503738822306, 0.0091363578885896128, 0.0052827872295400091, 0.02526054964096567, 0.01949470769240411, 0.0094909452962763929, 0.019522077110586403, 0.018549261128954084, 0.0066770344442521412}; + + const real_t _data_q_p_0 [] = {0.4881393122183349, 0.028620108024415062, 0.12011493111997025, 0.19015055018870972, 0.81934505243836264, 0.33721826230431567, 0.086557484679865959, 0.079692524193577793, 0.061206893331017434, 0.43957887847117094, 0.085226802665704912}; + + const real_t _data_q_p_1 [] = {0.31081202744417918, 0.1144811451032984, 0.33248812467264544, 0.58529107547132619, 0.026719351714152292, 0.11264913310739497, 0.079391877387070833, 0.063296594113889035, 0.44299746808745322, 0.057741550565775693, 0.77428400209089154}; + + const real_t _data_q_p_2 [] = {0.082320586256909412, 0.85148303380032098, 0.10040383353811888, 0.21187112908079075, 0.11113976289693195, 0.45821473775386756, 0.49383422023194623, 0.10603293862052354, 0.35074787972985066, 0.10858823393329198, 0.0088057690417862045}; + + const real_t tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const real_t p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const real_t p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const real_t p_affine_const_1_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t p_affine_const_1_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t p_affine_const_1_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t p_affine_const_2_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t p_affine_const_2_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t p_affine_const_2_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t p_affine_const_3_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t p_affine_const_3_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t p_affine_const_3_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const real_t abs_det_jac_affine_WHITE_UP = abs(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const real_t tmp_qloop_19 = rayVertex_1 - refVertex_1; + const real_t tmp_qloop_20 = -rayVertex_0; + const real_t tmp_qloop_21 = -forVertex_0 - tmp_qloop_20; + const real_t tmp_qloop_22 = rayVertex_2 - thrVertex_2; + const real_t tmp_qloop_23 = tmp_qloop_21*tmp_qloop_22; + const real_t tmp_qloop_24 = rayVertex_2 - refVertex_2; + const real_t tmp_qloop_25 = rayVertex_1 - thrVertex_1; + const real_t tmp_qloop_26 = tmp_qloop_21*tmp_qloop_25; + const real_t tmp_qloop_27 = -rayVertex_1; + const real_t tmp_qloop_28 = -forVertex_1 - tmp_qloop_27; + const real_t tmp_qloop_29 = rayVertex_0 - thrVertex_0; + const real_t tmp_qloop_30 = rayVertex_0 - refVertex_0; + const real_t tmp_qloop_31 = -rayVertex_2; + const real_t tmp_qloop_32 = -forVertex_2 - tmp_qloop_31; + const real_t tmp_qloop_33 = tmp_qloop_22*tmp_qloop_28; + const real_t tmp_qloop_34 = tmp_qloop_29*tmp_qloop_32; + const real_t tmp_qloop_35 = tmp_qloop_19*tmp_qloop_23 - tmp_qloop_19*tmp_qloop_34 - tmp_qloop_24*tmp_qloop_26 + tmp_qloop_24*tmp_qloop_28*tmp_qloop_29 + tmp_qloop_25*tmp_qloop_30*tmp_qloop_32 - tmp_qloop_30*tmp_qloop_33; + const real_t tmp_qloop_36 = 1.0 / (tmp_qloop_35*tmp_qloop_35*tmp_qloop_35); + const real_t tmp_qloop_37 = radRayVertex - radRefVertex; + const real_t tmp_qloop_38 = tmp_qloop_37*(-tmp_qloop_26 + tmp_qloop_28*tmp_qloop_29); + const real_t tmp_qloop_45 = tmp_qloop_37*(tmp_qloop_25*tmp_qloop_32 - tmp_qloop_33); + const real_t tmp_qloop_47 = -tmp_qloop_23 + tmp_qloop_29*tmp_qloop_32; + { + /* CellType.WHITE_UP */ + const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_UP [] = {((real_t)(abs_det_jac_affine_WHITE_UP*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012151214443257608)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019083835042434261)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.072053489056043002)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017525267423213611)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.027523941260433657)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.049958575567593019)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.078461393265588306)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.29624114484395714)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.072053489056042974)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.11316209633188964)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.031810029988819218)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.18862506775555832)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012151214443257601)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.045878482755592566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.07205348905604296)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013231853551815916)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012151214443257603)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_UP*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_WHITE_UP*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017130957178208683)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.011159409734644826)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_WHITE_UP*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.068524255492113287)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.044637916950180538)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.000283911881665389)), ((real_t)(abs_det_jac_affine_WHITE_UP*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.50966681808331993)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.33200601647520916)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.083000987173061064)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015706073884687172)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021562946853404222)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.071405876738584673)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.080243884747120436)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.26572828761452333)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.095997217930328324)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.016039226535213912)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019188018251946451)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021562946853404225)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025796145274243024)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.044397913749511943)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053114031247306501)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.19765740883375349)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013407157762204741)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018024424659562992)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.059688031245203853)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021562946853404232)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018984670973016902)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.094319450236798913)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.030642694050274453)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.084650020197820364)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058435584226493004)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.29031907828914638)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.26055618198886238)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017384857321768536)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021153258143552994)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.10509340307518385)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034142957672569287)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.022395383667253931)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015588264867481133)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.42876947450525699)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.009732450635762396)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.29844418988237825)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.071749615697017544)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015588264867481126)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.1149198753205366)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013982439217157605)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058160280082415236)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040482354049473784)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015588264867481138)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018978279386089755)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.056811998632973766)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01396686284573566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015485631440181358)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01139648574059631)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.069625445155635055)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.20842567519062763)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.051240105769272605)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.056811998632973738)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013966862845735664)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.041810186095187066)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.023258663351751644)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017116965895609845)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018978279386089748)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01396686284573564)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.094607584046545581)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.28321039153111127)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.077196575526473174)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018978279386089758)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.056811998632973676)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053354679030800815)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.22863973450271471)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.036757553494219546)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040075149727639509)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013574438423676774)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.014799615333023134)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058170268354931248)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.009351816102656051)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.010195875266786407)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012450687019346486)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053354679030800829)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.077445898974953548)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.084435869696849797)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.3318773554937019)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053354679030800836)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.2830869924348563)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020160825588817252)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025383152182066201)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.23919668259056145)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.14278898169094956)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.17977609281010931)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.030040718507945225)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.002139433116273644)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025383152182066195)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019077538505445499)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.023860144794362503)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020160825588817249)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012035048833865587)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01515252809081665)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.039969943152159265)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.033772932211040815)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020160825588817245)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025383152182066191)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.090150328303510344)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.029517331411893867)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.037280633286332542)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.038041411821271319)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012455650259246798)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015731589118882314)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.27533253531028662)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.048046617223388682)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.090150328303510385)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.11386060898348732)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.21799741519439725)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.030119685775736597)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.07137746553252089)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.090150328303510371)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.067458477890573201)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.035870894765649017)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.27308043404340754)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.011024731463671476)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.083929839859876898)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.044629504659074608)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.30460043053460045)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.005862376301973493)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020733009548559916)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018587561536304909)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055932196812816262)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053705963564394235)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.036199865373541695)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.022496381554864123)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034759025419540221)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.32887513974352289)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.02111678772433076)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.20437923045390871)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.31578513412249021)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_WHITE_UP*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_WHITE_UP*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00039530708258920849))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + { + for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 += 4) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const __m256d p_affine_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_0_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d p_affine_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_1_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d p_affine_2_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_2_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_2_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d p_affine_3_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_3_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_3_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 11; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_11 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_0); + const __m256d tmp_qloop_12 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_1),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_1),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_1),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_1); + const __m256d tmp_qloop_13 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_2),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_2),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_2),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_2); + const __m256d tmp_qloop_14 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_11); + const __m256d tmp_qloop_15 = _mm256_mul_pd(tmp_qloop_12,tmp_qloop_12); + const __m256d tmp_qloop_16 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_13); + const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(tmp_qloop_14,tmp_qloop_15),tmp_qloop_16); + const __m256d tmp_qloop_18 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_17),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_17),tmp_qloop_17),tmp_qloop_17),tmp_qloop_17)); + const __m256d tmp_qloop_39 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31)),_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_41 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27)),_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28)),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37))); + const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)); + const __m256d tmp_qloop_44 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_43)); + const __m256d tmp_qloop_46 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_11,tmp_qloop_43)); + const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47))); + const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_15,tmp_qloop_43)); + const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36)); + const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_46); + const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_44); + const __m256d tmp_qloop_53 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_43)); + const __m256d tmp_qloop_54 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_48),tmp_qloop_50),_mm256_set_pd(1.0,1.0,1.0,1.0)); + const __m256d tmp_qloop_55 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),tmp_qloop_42)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_14,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_56 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_castsi256_pd(_mm256_and_si256(_mm256_set1_epi64x(0x7fffffffffffffff), _mm256_castpd_si256(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_53),tmp_qloop_54),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_52,tmp_qloop_54),tmp_qloop_55)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_49,tmp_qloop_50),tmp_qloop_51),tmp_qloop_52),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_18,tmp_qloop_49),tmp_qloop_53),tmp_qloop_55),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_11,tmp_qloop_12),tmp_qloop_13),tmp_qloop_18),tmp_qloop_44),tmp_qloop_46),tmp_qloop_48),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))))))); + const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14])); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5])); + const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6])); + const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7])); + const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8])); + const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9])); + const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13])); + const __m256d q_tmp_1_4 = tmp_qloop_57; + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15])); + const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16])); + const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17])); + const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18])); + const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19])); + const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20])); + const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24])); + const __m256d q_tmp_2_5 = tmp_qloop_57; + const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25])); + const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26])); + const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27])); + const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28])); + const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29])); + const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30])); + const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32])); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33])); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34])); + const __m256d q_tmp_3_6 = tmp_qloop_57; + const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35])); + const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36])); + const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1); + q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2); + q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3); + q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4); + q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5); + q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6); + q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7); + q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8); + q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9); + q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2); + q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3); + q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4); + q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5); + q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6); + q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7); + q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8); + q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9); + q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0); + q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3); + q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4); + q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5); + q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6); + q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7); + q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8); + q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9); + q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0); + q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1); + q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2); + q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3); + q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4); + q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5); + q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6); + q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7); + q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8); + q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9); + } + const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9)); + const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9)); + const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9)); + const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9)); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 11; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q]; + const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q]; + const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q]; + const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11); + const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12); + const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13); + const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16; + const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000); + const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31; + const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20; + const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27; + const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41); + const real_t tmp_qloop_43 = -tmp_qloop_42; + const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38; + const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45; + const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47; + const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42); + const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36; + const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46; + const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44; + const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42); + const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0; + const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42); + const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q]; + const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_57; + const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_57; + const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_57; + const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + } + } + } + const real_t tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const real_t tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const real_t tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t tmp_coords_jac_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const real_t tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const real_t p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const real_t p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const real_t p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const real_t p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const real_t p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_1_WHITE_DOWN; + const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_4_WHITE_DOWN; + const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_7_WHITE_DOWN; + const real_t p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const real_t p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const real_t p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const real_t abs_det_jac_affine_WHITE_DOWN = abs(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + { + /* CellType.WHITE_DOWN */ + const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_DOWN [] = {((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012151214443257608)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019083835042434261)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.072053489056043002)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017525267423213611)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.027523941260433657)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.049958575567593019)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.078461393265588306)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.29624114484395714)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.072053489056042974)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.11316209633188964)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.031810029988819218)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.18862506775555832)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012151214443257601)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.045878482755592566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.07205348905604296)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013231853551815916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012151214443257603)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017130957178208683)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.011159409734644826)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.068524255492113287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.044637916950180538)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.000283911881665389)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.50966681808331993)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.33200601647520916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.083000987173061064)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015706073884687172)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021562946853404222)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.071405876738584673)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.080243884747120436)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.26572828761452333)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.095997217930328324)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.016039226535213912)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019188018251946451)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021562946853404225)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025796145274243024)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.044397913749511943)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053114031247306501)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.19765740883375349)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013407157762204741)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018024424659562992)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.059688031245203853)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021562946853404232)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018984670973016902)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.094319450236798913)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.030642694050274453)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.084650020197820364)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058435584226493004)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.29031907828914638)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.26055618198886238)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017384857321768536)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021153258143552994)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.10509340307518385)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034142957672569287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.022395383667253931)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015588264867481133)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.42876947450525699)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.009732450635762396)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.29844418988237825)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.071749615697017544)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015588264867481126)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.1149198753205366)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013982439217157605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058160280082415236)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040482354049473784)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015588264867481138)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018978279386089755)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.056811998632973766)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01396686284573566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015485631440181358)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01139648574059631)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.069625445155635055)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.20842567519062763)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.051240105769272605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.056811998632973738)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013966862845735664)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.041810186095187066)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.023258663351751644)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017116965895609845)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018978279386089748)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01396686284573564)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.094607584046545581)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.28321039153111127)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.077196575526473174)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018978279386089758)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.056811998632973676)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053354679030800815)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.22863973450271471)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.036757553494219546)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040075149727639509)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013574438423676774)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.014799615333023134)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058170268354931248)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.009351816102656051)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.010195875266786407)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012450687019346486)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053354679030800829)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.077445898974953548)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.084435869696849797)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.3318773554937019)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053354679030800836)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.2830869924348563)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020160825588817252)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025383152182066201)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.23919668259056145)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.14278898169094956)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.17977609281010931)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.030040718507945225)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.002139433116273644)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025383152182066195)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019077538505445499)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.023860144794362503)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020160825588817249)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012035048833865587)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01515252809081665)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.039969943152159265)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.033772932211040815)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020160825588817245)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025383152182066191)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.090150328303510344)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.029517331411893867)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.037280633286332542)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.038041411821271319)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012455650259246798)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015731589118882314)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.27533253531028662)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.048046617223388682)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.090150328303510385)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.11386060898348732)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.21799741519439725)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.030119685775736597)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.07137746553252089)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.090150328303510371)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.067458477890573201)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.035870894765649017)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.27308043404340754)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.011024731463671476)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.083929839859876898)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.044629504659074608)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.30460043053460045)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.005862376301973493)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020733009548559916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018587561536304909)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055932196812816262)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053705963564394235)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.036199865373541695)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.022496381554864123)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034759025419540221)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.32887513974352289)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.02111678772433076)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.20437923045390871)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.31578513412249021)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00039530708258920849))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + { + for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2) / (4)) * (4); ctr_0 += 4) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const __m256d p_affine_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_0_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d p_affine_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_1_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d p_affine_2_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_2_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_2_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d p_affine_3_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_3_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_3_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]); + const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]); + const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 11; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_11 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_0); + const __m256d tmp_qloop_12 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_1),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_1),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_1),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_1); + const __m256d tmp_qloop_13 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_2),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_2),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_2),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_2); + const __m256d tmp_qloop_14 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_11); + const __m256d tmp_qloop_15 = _mm256_mul_pd(tmp_qloop_12,tmp_qloop_12); + const __m256d tmp_qloop_16 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_13); + const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(tmp_qloop_14,tmp_qloop_15),tmp_qloop_16); + const __m256d tmp_qloop_18 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_17),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_17),tmp_qloop_17),tmp_qloop_17),tmp_qloop_17)); + const __m256d tmp_qloop_39 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31)),_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_41 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27)),_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28)),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37))); + const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)); + const __m256d tmp_qloop_44 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_43)); + const __m256d tmp_qloop_46 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_11,tmp_qloop_43)); + const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47))); + const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_15,tmp_qloop_43)); + const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36)); + const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_46); + const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_44); + const __m256d tmp_qloop_53 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_43)); + const __m256d tmp_qloop_54 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_48),tmp_qloop_50),_mm256_set_pd(1.0,1.0,1.0,1.0)); + const __m256d tmp_qloop_55 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),tmp_qloop_42)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_14,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_56 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_castsi256_pd(_mm256_and_si256(_mm256_set1_epi64x(0x7fffffffffffffff), _mm256_castpd_si256(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_53),tmp_qloop_54),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_52,tmp_qloop_54),tmp_qloop_55)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_49,tmp_qloop_50),tmp_qloop_51),tmp_qloop_52),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_18,tmp_qloop_49),tmp_qloop_53),tmp_qloop_55),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_11,tmp_qloop_12),tmp_qloop_13),tmp_qloop_18),tmp_qloop_44),tmp_qloop_46),tmp_qloop_48),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))))))); + const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14])); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5])); + const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6])); + const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7])); + const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8])); + const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9])); + const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13])); + const __m256d q_tmp_1_4 = tmp_qloop_57; + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15])); + const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16])); + const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17])); + const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18])); + const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19])); + const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20])); + const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24])); + const __m256d q_tmp_2_5 = tmp_qloop_57; + const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25])); + const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26])); + const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27])); + const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28])); + const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29])); + const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30])); + const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32])); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33])); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34])); + const __m256d q_tmp_3_6 = tmp_qloop_57; + const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35])); + const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36])); + const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1); + q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2); + q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3); + q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4); + q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5); + q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6); + q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7); + q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8); + q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9); + q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2); + q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3); + q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4); + q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5); + q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6); + q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7); + q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8); + q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9); + q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0); + q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3); + q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4); + q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5); + q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6); + q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7); + q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8); + q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9); + q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0); + q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1); + q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2); + q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3); + q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4); + q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5); + q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6); + q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7); + q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8); + q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9); + } + const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9)); + const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9)); + const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9)); + const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9)); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 11; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q]; + const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q]; + const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q]; + const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11); + const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12); + const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13); + const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16; + const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000); + const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31; + const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20; + const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27; + const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41); + const real_t tmp_qloop_43 = -tmp_qloop_42; + const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38; + const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45; + const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47; + const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42); + const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36; + const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46; + const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44; + const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42); + const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0; + const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42); + const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q]; + const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_57; + const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_57; + const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_57; + const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + } + } + } + const real_t tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const real_t p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const real_t p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const real_t p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const real_t p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const real_t p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const real_t p_affine_const_3_0_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_coords_jac_1_BLUE_UP; + const real_t p_affine_const_3_1_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_coords_jac_2_BLUE_UP; + const real_t p_affine_const_3_2_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_coords_jac_3_BLUE_UP; + const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const real_t abs_det_jac_affine_BLUE_UP = abs(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + { + /* CellType.BLUE_UP */ + const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_UP [] = {((real_t)(abs_det_jac_affine_BLUE_UP*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012151214443257608)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019083835042434261)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.072053489056043002)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017525267423213611)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.027523941260433657)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.049958575567593019)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.078461393265588306)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.29624114484395714)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.072053489056042974)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.11316209633188964)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.031810029988819218)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.18862506775555832)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012151214443257601)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.045878482755592566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.07205348905604296)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013231853551815916)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012151214443257603)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_UP*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_BLUE_UP*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017130957178208683)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.011159409734644826)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_BLUE_UP*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.068524255492113287)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.044637916950180538)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.000283911881665389)), ((real_t)(abs_det_jac_affine_BLUE_UP*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.50966681808331993)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.33200601647520916)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.083000987173061064)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015706073884687172)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021562946853404222)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.071405876738584673)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.080243884747120436)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.26572828761452333)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.095997217930328324)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.016039226535213912)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019188018251946451)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021562946853404225)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025796145274243024)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.044397913749511943)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053114031247306501)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.19765740883375349)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013407157762204741)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018024424659562992)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.059688031245203853)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021562946853404232)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018984670973016902)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.094319450236798913)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.030642694050274453)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.084650020197820364)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058435584226493004)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.29031907828914638)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.26055618198886238)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017384857321768536)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021153258143552994)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.10509340307518385)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034142957672569287)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.022395383667253931)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015588264867481133)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.42876947450525699)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.009732450635762396)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.29844418988237825)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.071749615697017544)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015588264867481126)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.1149198753205366)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013982439217157605)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058160280082415236)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040482354049473784)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015588264867481138)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018978279386089755)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.056811998632973766)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01396686284573566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015485631440181358)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01139648574059631)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.069625445155635055)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.20842567519062763)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.051240105769272605)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.056811998632973738)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013966862845735664)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.041810186095187066)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.023258663351751644)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017116965895609845)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018978279386089748)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01396686284573564)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.094607584046545581)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.28321039153111127)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.077196575526473174)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018978279386089758)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.056811998632973676)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053354679030800815)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.22863973450271471)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.036757553494219546)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040075149727639509)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013574438423676774)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.014799615333023134)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058170268354931248)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.009351816102656051)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.010195875266786407)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012450687019346486)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053354679030800829)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.077445898974953548)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.084435869696849797)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.3318773554937019)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053354679030800836)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.2830869924348563)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020160825588817252)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025383152182066201)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.23919668259056145)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.14278898169094956)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.17977609281010931)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.030040718507945225)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.002139433116273644)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025383152182066195)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019077538505445499)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.023860144794362503)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020160825588817249)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012035048833865587)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01515252809081665)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.039969943152159265)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.033772932211040815)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020160825588817245)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025383152182066191)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.090150328303510344)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.029517331411893867)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.037280633286332542)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.038041411821271319)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012455650259246798)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015731589118882314)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.27533253531028662)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.048046617223388682)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.090150328303510385)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.11386060898348732)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.21799741519439725)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.030119685775736597)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.07137746553252089)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.090150328303510371)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.067458477890573201)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.035870894765649017)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.27308043404340754)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.011024731463671476)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.083929839859876898)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.044629504659074608)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.30460043053460045)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.005862376301973493)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020733009548559916)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018587561536304909)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055932196812816262)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053705963564394235)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.036199865373541695)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.022496381554864123)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034759025419540221)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.32887513974352289)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.02111678772433076)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.20437923045390871)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.31578513412249021)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_BLUE_UP*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_BLUE_UP*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00039530708258920849))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + { + for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const __m256d p_affine_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_0_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d p_affine_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_1_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d p_affine_2_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_2_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_2_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d p_affine_3_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_3_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_3_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 11; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_11 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_0); + const __m256d tmp_qloop_12 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_1),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_1),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_1),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_1); + const __m256d tmp_qloop_13 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_2),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_2),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_2),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_2); + const __m256d tmp_qloop_14 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_11); + const __m256d tmp_qloop_15 = _mm256_mul_pd(tmp_qloop_12,tmp_qloop_12); + const __m256d tmp_qloop_16 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_13); + const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(tmp_qloop_14,tmp_qloop_15),tmp_qloop_16); + const __m256d tmp_qloop_18 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_17),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_17),tmp_qloop_17),tmp_qloop_17),tmp_qloop_17)); + const __m256d tmp_qloop_39 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31)),_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_41 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27)),_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28)),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37))); + const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)); + const __m256d tmp_qloop_44 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_43)); + const __m256d tmp_qloop_46 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_11,tmp_qloop_43)); + const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47))); + const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_15,tmp_qloop_43)); + const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36)); + const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_46); + const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_44); + const __m256d tmp_qloop_53 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_43)); + const __m256d tmp_qloop_54 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_48),tmp_qloop_50),_mm256_set_pd(1.0,1.0,1.0,1.0)); + const __m256d tmp_qloop_55 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),tmp_qloop_42)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_14,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_56 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_castsi256_pd(_mm256_and_si256(_mm256_set1_epi64x(0x7fffffffffffffff), _mm256_castpd_si256(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_53),tmp_qloop_54),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_52,tmp_qloop_54),tmp_qloop_55)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_49,tmp_qloop_50),tmp_qloop_51),tmp_qloop_52),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_18,tmp_qloop_49),tmp_qloop_53),tmp_qloop_55),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_11,tmp_qloop_12),tmp_qloop_13),tmp_qloop_18),tmp_qloop_44),tmp_qloop_46),tmp_qloop_48),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))))))); + const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14])); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5])); + const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6])); + const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7])); + const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8])); + const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9])); + const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13])); + const __m256d q_tmp_1_4 = tmp_qloop_57; + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15])); + const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16])); + const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17])); + const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18])); + const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19])); + const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20])); + const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24])); + const __m256d q_tmp_2_5 = tmp_qloop_57; + const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25])); + const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26])); + const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27])); + const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28])); + const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29])); + const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30])); + const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32])); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33])); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34])); + const __m256d q_tmp_3_6 = tmp_qloop_57; + const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35])); + const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36])); + const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1); + q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2); + q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3); + q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4); + q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5); + q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6); + q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7); + q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8); + q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9); + q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2); + q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3); + q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4); + q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5); + q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6); + q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7); + q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8); + q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9); + q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0); + q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3); + q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4); + q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5); + q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6); + q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7); + q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8); + q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9); + q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0); + q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1); + q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2); + q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3); + q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4); + q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5); + q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6); + q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7); + q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8); + q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9); + } + const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9)); + const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9)); + const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9)); + const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9)); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 11; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q]; + const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q]; + const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q]; + const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11); + const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12); + const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13); + const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16; + const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000); + const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31; + const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20; + const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27; + const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41); + const real_t tmp_qloop_43 = -tmp_qloop_42; + const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38; + const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45; + const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47; + const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42); + const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36; + const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46; + const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44; + const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42); + const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0; + const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42); + const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q]; + const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_57; + const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_57; + const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_57; + const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + } + } + } + const real_t tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const real_t tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const real_t tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const real_t p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const real_t p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const real_t p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const real_t p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const real_t p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const real_t p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const real_t p_affine_const_2_0_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_coords_jac_5_BLUE_DOWN; + const real_t p_affine_const_2_1_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_coords_jac_7_BLUE_DOWN; + const real_t p_affine_const_2_2_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_coords_jac_9_BLUE_DOWN; + const real_t p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const real_t p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const real_t p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const real_t abs_det_jac_affine_BLUE_DOWN = abs(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + { + /* CellType.BLUE_DOWN */ + const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_DOWN [] = {((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012151214443257608)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019083835042434261)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.072053489056043002)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017525267423213611)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.027523941260433657)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.049958575567593019)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.078461393265588306)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.29624114484395714)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.072053489056042974)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.11316209633188964)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.031810029988819218)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.18862506775555832)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012151214443257601)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.045878482755592566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.07205348905604296)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013231853551815916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012151214443257603)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017130957178208683)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.011159409734644826)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.068524255492113287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.044637916950180538)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.000283911881665389)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.50966681808331993)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.33200601647520916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.083000987173061064)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015706073884687172)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021562946853404222)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.071405876738584673)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.080243884747120436)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.26572828761452333)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.095997217930328324)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.016039226535213912)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019188018251946451)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021562946853404225)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025796145274243024)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.044397913749511943)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053114031247306501)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.19765740883375349)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013407157762204741)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018024424659562992)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.059688031245203853)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021562946853404232)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018984670973016902)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.094319450236798913)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.030642694050274453)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.084650020197820364)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058435584226493004)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.29031907828914638)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.26055618198886238)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017384857321768536)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021153258143552994)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.10509340307518385)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034142957672569287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.022395383667253931)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015588264867481133)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.42876947450525699)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.009732450635762396)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.29844418988237825)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.071749615697017544)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015588264867481126)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.1149198753205366)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013982439217157605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058160280082415236)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040482354049473784)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015588264867481138)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018978279386089755)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.056811998632973766)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01396686284573566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015485631440181358)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01139648574059631)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.069625445155635055)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.20842567519062763)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.051240105769272605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.056811998632973738)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013966862845735664)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.041810186095187066)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.023258663351751644)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017116965895609845)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018978279386089748)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01396686284573564)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.094607584046545581)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.28321039153111127)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.077196575526473174)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018978279386089758)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.056811998632973676)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053354679030800815)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.22863973450271471)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.036757553494219546)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040075149727639509)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013574438423676774)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.014799615333023134)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058170268354931248)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.009351816102656051)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.010195875266786407)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012450687019346486)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053354679030800829)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.077445898974953548)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.084435869696849797)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.3318773554937019)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053354679030800836)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.2830869924348563)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020160825588817252)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025383152182066201)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.23919668259056145)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.14278898169094956)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.17977609281010931)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.030040718507945225)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.002139433116273644)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025383152182066195)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019077538505445499)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.023860144794362503)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020160825588817249)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012035048833865587)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01515252809081665)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.039969943152159265)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.033772932211040815)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020160825588817245)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025383152182066191)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.090150328303510344)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.029517331411893867)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.037280633286332542)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.038041411821271319)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012455650259246798)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015731589118882314)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.27533253531028662)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.048046617223388682)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.090150328303510385)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.11386060898348732)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.21799741519439725)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.030119685775736597)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.07137746553252089)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.090150328303510371)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.067458477890573201)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.035870894765649017)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.27308043404340754)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.011024731463671476)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.083929839859876898)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.044629504659074608)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.30460043053460045)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.005862376301973493)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020733009548559916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018587561536304909)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055932196812816262)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053705963564394235)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.036199865373541695)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.022496381554864123)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034759025419540221)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.32887513974352289)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.02111678772433076)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.20437923045390871)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.31578513412249021)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00039530708258920849))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + { + for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const __m256d p_affine_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_0_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d p_affine_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_1_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d p_affine_2_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_2_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_2_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d p_affine_3_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_3_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_3_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 11; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_11 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_0); + const __m256d tmp_qloop_12 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_1),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_1),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_1),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_1); + const __m256d tmp_qloop_13 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_2),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_2),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_2),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_2); + const __m256d tmp_qloop_14 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_11); + const __m256d tmp_qloop_15 = _mm256_mul_pd(tmp_qloop_12,tmp_qloop_12); + const __m256d tmp_qloop_16 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_13); + const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(tmp_qloop_14,tmp_qloop_15),tmp_qloop_16); + const __m256d tmp_qloop_18 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_17),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_17),tmp_qloop_17),tmp_qloop_17),tmp_qloop_17)); + const __m256d tmp_qloop_39 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31)),_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_41 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27)),_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28)),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37))); + const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)); + const __m256d tmp_qloop_44 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_43)); + const __m256d tmp_qloop_46 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_11,tmp_qloop_43)); + const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47))); + const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_15,tmp_qloop_43)); + const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36)); + const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_46); + const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_44); + const __m256d tmp_qloop_53 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_43)); + const __m256d tmp_qloop_54 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_48),tmp_qloop_50),_mm256_set_pd(1.0,1.0,1.0,1.0)); + const __m256d tmp_qloop_55 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),tmp_qloop_42)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_14,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_56 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_castsi256_pd(_mm256_and_si256(_mm256_set1_epi64x(0x7fffffffffffffff), _mm256_castpd_si256(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_53),tmp_qloop_54),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_52,tmp_qloop_54),tmp_qloop_55)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_49,tmp_qloop_50),tmp_qloop_51),tmp_qloop_52),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_18,tmp_qloop_49),tmp_qloop_53),tmp_qloop_55),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_11,tmp_qloop_12),tmp_qloop_13),tmp_qloop_18),tmp_qloop_44),tmp_qloop_46),tmp_qloop_48),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))))))); + const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14])); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5])); + const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6])); + const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7])); + const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8])); + const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9])); + const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13])); + const __m256d q_tmp_1_4 = tmp_qloop_57; + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15])); + const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16])); + const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17])); + const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18])); + const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19])); + const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20])); + const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24])); + const __m256d q_tmp_2_5 = tmp_qloop_57; + const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25])); + const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26])); + const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27])); + const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28])); + const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29])); + const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30])); + const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32])); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33])); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34])); + const __m256d q_tmp_3_6 = tmp_qloop_57; + const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35])); + const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36])); + const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1); + q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2); + q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3); + q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4); + q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5); + q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6); + q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7); + q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8); + q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9); + q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2); + q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3); + q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4); + q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5); + q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6); + q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7); + q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8); + q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9); + q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0); + q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3); + q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4); + q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5); + q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6); + q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7); + q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8); + q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9); + q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0); + q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1); + q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2); + q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3); + q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4); + q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5); + q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6); + q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7); + q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8); + q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9); + } + const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9)); + const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9)); + const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9)); + const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9)); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 11; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q]; + const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q]; + const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q]; + const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11); + const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12); + const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13); + const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16; + const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000); + const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31; + const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20; + const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27; + const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41); + const real_t tmp_qloop_43 = -tmp_qloop_42; + const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38; + const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45; + const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47; + const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42); + const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36; + const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46; + const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44; + const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42); + const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0; + const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42); + const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q]; + const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_57; + const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_57; + const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_57; + const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + } + } + } + const real_t tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const real_t p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const real_t p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t p_affine_const_1_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t p_affine_const_1_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const real_t p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const real_t p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const real_t p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const real_t abs_det_jac_affine_GREEN_UP = abs(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + { + /* CellType.GREEN_UP */ + const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_UP [] = {((real_t)(abs_det_jac_affine_GREEN_UP*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012151214443257608)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019083835042434261)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.072053489056043002)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017525267423213611)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.027523941260433657)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.049958575567593019)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.078461393265588306)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.29624114484395714)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.072053489056042974)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.11316209633188964)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.031810029988819218)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.18862506775555832)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012151214443257601)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.045878482755592566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.07205348905604296)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013231853551815916)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012151214443257603)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_UP*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_GREEN_UP*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017130957178208683)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.011159409734644826)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_GREEN_UP*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.068524255492113287)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.044637916950180538)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.000283911881665389)), ((real_t)(abs_det_jac_affine_GREEN_UP*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.50966681808331993)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.33200601647520916)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.083000987173061064)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015706073884687172)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021562946853404222)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.071405876738584673)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.080243884747120436)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.26572828761452333)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.095997217930328324)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.016039226535213912)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019188018251946451)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021562946853404225)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025796145274243024)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.044397913749511943)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053114031247306501)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.19765740883375349)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013407157762204741)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018024424659562992)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.059688031245203853)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021562946853404232)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018984670973016902)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.094319450236798913)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.030642694050274453)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.084650020197820364)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058435584226493004)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.29031907828914638)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.26055618198886238)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017384857321768536)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021153258143552994)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.10509340307518385)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034142957672569287)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.022395383667253931)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015588264867481133)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.42876947450525699)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.009732450635762396)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.29844418988237825)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.071749615697017544)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015588264867481126)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.1149198753205366)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013982439217157605)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058160280082415236)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040482354049473784)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015588264867481138)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018978279386089755)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.056811998632973766)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01396686284573566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015485631440181358)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01139648574059631)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.069625445155635055)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.20842567519062763)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.051240105769272605)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.056811998632973738)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013966862845735664)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.041810186095187066)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.023258663351751644)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017116965895609845)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018978279386089748)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01396686284573564)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.094607584046545581)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.28321039153111127)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.077196575526473174)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018978279386089758)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.056811998632973676)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053354679030800815)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.22863973450271471)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.036757553494219546)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040075149727639509)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013574438423676774)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.014799615333023134)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058170268354931248)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.009351816102656051)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.010195875266786407)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012450687019346486)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053354679030800829)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.077445898974953548)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.084435869696849797)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.3318773554937019)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053354679030800836)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.2830869924348563)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020160825588817252)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025383152182066201)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.23919668259056145)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.14278898169094956)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.17977609281010931)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.030040718507945225)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.002139433116273644)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025383152182066195)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019077538505445499)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.023860144794362503)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020160825588817249)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012035048833865587)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01515252809081665)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.039969943152159265)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.033772932211040815)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020160825588817245)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025383152182066191)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.090150328303510344)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.029517331411893867)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.037280633286332542)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.038041411821271319)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012455650259246798)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015731589118882314)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.27533253531028662)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.048046617223388682)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.090150328303510385)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.11386060898348732)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.21799741519439725)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.030119685775736597)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.07137746553252089)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.090150328303510371)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.067458477890573201)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.035870894765649017)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.27308043404340754)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.011024731463671476)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.083929839859876898)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.044629504659074608)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.30460043053460045)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.005862376301973493)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020733009548559916)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018587561536304909)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055932196812816262)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053705963564394235)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.036199865373541695)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.022496381554864123)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034759025419540221)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.32887513974352289)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.02111678772433076)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.20437923045390871)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.31578513412249021)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_GREEN_UP*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_GREEN_UP*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00039530708258920849))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + { + for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const __m256d p_affine_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_0_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d p_affine_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_1_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d p_affine_2_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_2_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_2_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d p_affine_3_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_3_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_3_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 11; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_11 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_0); + const __m256d tmp_qloop_12 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_1),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_1),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_1),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_1); + const __m256d tmp_qloop_13 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_2),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_2),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_2),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_2); + const __m256d tmp_qloop_14 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_11); + const __m256d tmp_qloop_15 = _mm256_mul_pd(tmp_qloop_12,tmp_qloop_12); + const __m256d tmp_qloop_16 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_13); + const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(tmp_qloop_14,tmp_qloop_15),tmp_qloop_16); + const __m256d tmp_qloop_18 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_17),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_17),tmp_qloop_17),tmp_qloop_17),tmp_qloop_17)); + const __m256d tmp_qloop_39 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31)),_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_41 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27)),_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28)),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37))); + const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)); + const __m256d tmp_qloop_44 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_43)); + const __m256d tmp_qloop_46 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_11,tmp_qloop_43)); + const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47))); + const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_15,tmp_qloop_43)); + const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36)); + const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_46); + const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_44); + const __m256d tmp_qloop_53 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_43)); + const __m256d tmp_qloop_54 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_48),tmp_qloop_50),_mm256_set_pd(1.0,1.0,1.0,1.0)); + const __m256d tmp_qloop_55 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),tmp_qloop_42)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_14,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_56 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_castsi256_pd(_mm256_and_si256(_mm256_set1_epi64x(0x7fffffffffffffff), _mm256_castpd_si256(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_53),tmp_qloop_54),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_52,tmp_qloop_54),tmp_qloop_55)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_49,tmp_qloop_50),tmp_qloop_51),tmp_qloop_52),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_18,tmp_qloop_49),tmp_qloop_53),tmp_qloop_55),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_11,tmp_qloop_12),tmp_qloop_13),tmp_qloop_18),tmp_qloop_44),tmp_qloop_46),tmp_qloop_48),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))))))); + const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14])); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5])); + const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6])); + const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7])); + const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8])); + const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9])); + const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13])); + const __m256d q_tmp_1_4 = tmp_qloop_57; + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15])); + const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16])); + const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17])); + const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18])); + const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19])); + const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20])); + const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24])); + const __m256d q_tmp_2_5 = tmp_qloop_57; + const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25])); + const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26])); + const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27])); + const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28])); + const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29])); + const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30])); + const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32])); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33])); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34])); + const __m256d q_tmp_3_6 = tmp_qloop_57; + const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35])); + const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36])); + const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1); + q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2); + q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3); + q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4); + q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5); + q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6); + q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7); + q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8); + q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9); + q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2); + q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3); + q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4); + q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5); + q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6); + q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7); + q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8); + q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9); + q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0); + q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3); + q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4); + q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5); + q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6); + q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7); + q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8); + q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9); + q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0); + q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1); + q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2); + q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3); + q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4); + q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5); + q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6); + q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7); + q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8); + q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9); + } + const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9)); + const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9)); + const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9)); + const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9)); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 11; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q]; + const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q]; + const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q]; + const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11); + const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12); + const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13); + const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16; + const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000); + const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31; + const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20; + const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27; + const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41); + const real_t tmp_qloop_43 = -tmp_qloop_42; + const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38; + const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45; + const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47; + const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42); + const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36; + const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46; + const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44; + const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42); + const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0; + const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42); + const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q]; + const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_57; + const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_57; + const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_57; + const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + } + } + } + const real_t tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const real_t p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const real_t p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const real_t p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const real_t p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const real_t p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const real_t p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const real_t p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const real_t p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const real_t abs_det_jac_affine_GREEN_DOWN = abs(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + { + /* CellType.GREEN_DOWN */ + const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_DOWN [] = {((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012151214443257608)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019083835042434261)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.072053489056043002)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017525267423213611)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.027523941260433657)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.049958575567593019)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.078461393265588306)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.29624114484395714)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.072053489056042974)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.11316209633188964)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.031810029988819218)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.18862506775555832)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012151214443257601)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.045878482755592566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.07205348905604296)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013231853551815916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012151214443257603)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017130957178208683)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.011159409734644826)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.068524255492113287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.044637916950180538)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.000283911881665389)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.50966681808331993)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.33200601647520916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.083000987173061064)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015706073884687172)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021562946853404222)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.071405876738584673)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.080243884747120436)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.26572828761452333)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.095997217930328324)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.016039226535213912)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019188018251946451)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021562946853404225)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025796145274243024)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.044397913749511943)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053114031247306501)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.19765740883375349)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013407157762204741)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018024424659562992)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.059688031245203853)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021562946853404232)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018984670973016902)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.094319450236798913)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.030642694050274453)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.084650020197820364)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058435584226493004)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.29031907828914638)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.26055618198886238)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017384857321768536)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021153258143552994)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.10509340307518385)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034142957672569287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.022395383667253931)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015588264867481133)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.42876947450525699)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.009732450635762396)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.29844418988237825)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.071749615697017544)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015588264867481126)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.1149198753205366)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013982439217157605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058160280082415236)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040482354049473784)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015588264867481138)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018978279386089755)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.056811998632973766)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01396686284573566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015485631440181358)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01139648574059631)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.069625445155635055)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.20842567519062763)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.051240105769272605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.056811998632973738)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013966862845735664)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.041810186095187066)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.023258663351751644)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017116965895609845)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018978279386089748)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01396686284573564)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.094607584046545581)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.28321039153111127)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.077196575526473174)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018978279386089758)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.056811998632973676)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053354679030800815)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.22863973450271471)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.036757553494219546)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040075149727639509)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013574438423676774)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.014799615333023134)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058170268354931248)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.009351816102656051)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.010195875266786407)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012450687019346486)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053354679030800829)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.077445898974953548)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.084435869696849797)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.3318773554937019)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053354679030800836)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.2830869924348563)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020160825588817252)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025383152182066201)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.23919668259056145)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.14278898169094956)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.17977609281010931)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.030040718507945225)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.002139433116273644)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025383152182066195)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019077538505445499)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.023860144794362503)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020160825588817249)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012035048833865587)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01515252809081665)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.039969943152159265)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.033772932211040815)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020160825588817245)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025383152182066191)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.090150328303510344)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.029517331411893867)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.037280633286332542)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.038041411821271319)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012455650259246798)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015731589118882314)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.27533253531028662)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.048046617223388682)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.090150328303510385)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.11386060898348732)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.21799741519439725)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.030119685775736597)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.07137746553252089)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.090150328303510371)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.067458477890573201)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.035870894765649017)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.27308043404340754)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.011024731463671476)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.083929839859876898)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.044629504659074608)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.30460043053460045)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.005862376301973493)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020733009548559916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018587561536304909)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055932196812816262)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053705963564394235)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.036199865373541695)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.022496381554864123)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034759025419540221)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.32887513974352289)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.02111678772433076)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.20437923045390871)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.31578513412249021)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00039530708258920849))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + { + for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const __m256d p_affine_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_0_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d p_affine_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_1_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d p_affine_2_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_2_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_2_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d p_affine_3_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)); + const __m256d p_affine_3_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)); + const __m256d p_affine_3_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)); + const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 11; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_11 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_0); + const __m256d tmp_qloop_12 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_1),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_1),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_1),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_1); + const __m256d tmp_qloop_13 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_2),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_2),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_2),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_2); + const __m256d tmp_qloop_14 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_11); + const __m256d tmp_qloop_15 = _mm256_mul_pd(tmp_qloop_12,tmp_qloop_12); + const __m256d tmp_qloop_16 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_13); + const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(tmp_qloop_14,tmp_qloop_15),tmp_qloop_16); + const __m256d tmp_qloop_18 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_17),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_17),tmp_qloop_17),tmp_qloop_17),tmp_qloop_17)); + const __m256d tmp_qloop_39 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31)),_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_41 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27)),_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28)),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37))); + const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)); + const __m256d tmp_qloop_44 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_43)); + const __m256d tmp_qloop_46 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_11,tmp_qloop_43)); + const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47))); + const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_15,tmp_qloop_43)); + const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36)); + const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_46); + const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_44); + const __m256d tmp_qloop_53 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_43)); + const __m256d tmp_qloop_54 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_48),tmp_qloop_50),_mm256_set_pd(1.0,1.0,1.0,1.0)); + const __m256d tmp_qloop_55 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),tmp_qloop_42)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_14,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d tmp_qloop_56 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_castsi256_pd(_mm256_and_si256(_mm256_set1_epi64x(0x7fffffffffffffff), _mm256_castpd_si256(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_53),tmp_qloop_54),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_52,tmp_qloop_54),tmp_qloop_55)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_49,tmp_qloop_50),tmp_qloop_51),tmp_qloop_52),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_18,tmp_qloop_49),tmp_qloop_53),tmp_qloop_55),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_11,tmp_qloop_12),tmp_qloop_13),tmp_qloop_18),tmp_qloop_44),tmp_qloop_46),tmp_qloop_48),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))))))); + const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14])); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5])); + const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6])); + const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7])); + const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8])); + const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9])); + const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13])); + const __m256d q_tmp_1_4 = tmp_qloop_57; + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15])); + const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16])); + const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17])); + const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18])); + const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19])); + const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20])); + const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24])); + const __m256d q_tmp_2_5 = tmp_qloop_57; + const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25])); + const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26])); + const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27])); + const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28])); + const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29])); + const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30])); + const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32])); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33])); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34])); + const __m256d q_tmp_3_6 = tmp_qloop_57; + const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35])); + const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36])); + const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1); + q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2); + q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3); + q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4); + q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5); + q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6); + q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7); + q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8); + q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9); + q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2); + q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3); + q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4); + q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5); + q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6); + q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7); + q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8); + q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9); + q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0); + q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3); + q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4); + q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5); + q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6); + q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7); + q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8); + q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9); + q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0); + q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1); + q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2); + q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3); + q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4); + q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5); + q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6); + q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7); + q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8); + q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9); + } + const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9)); + const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9)); + const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9)); + const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9)); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 11; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q]; + const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q]; + const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q]; + const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11); + const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12); + const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13); + const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16; + const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000); + const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31; + const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20; + const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27; + const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41); + const real_t tmp_qloop_43 = -tmp_qloop_42; + const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38; + const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45; + const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47; + const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42); + const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36; + const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46; + const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44; + const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42); + const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0; + const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42); + const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q]; + const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_57; + const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_57; + const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_57; + const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + } + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/k_mass/avx/P2ToP1ElementwiseKMass_apply_macro_2D.cpp b/operators/k_mass/avx/P2ToP1ElementwiseKMass_apply_macro_2D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..5d047aca0ffb5971d77a7cef3326ae26822fb089 --- /dev/null +++ b/operators/k_mass/avx/P2ToP1ElementwiseKMass_apply_macro_2D.cpp @@ -0,0 +1,452 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + + + + + + + + + + + + + + + + + + + + + + + + + +#include "../P2ToP1ElementwiseKMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P2ToP1ElementwiseKMass::apply_macro_2D( real_t * RESTRICT _data_dst, real_t * RESTRICT _data_kEdge, real_t * RESTRICT _data_kVertex, real_t * RESTRICT _data_srcEdge, real_t * RESTRICT _data_srcVertex, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float ) const +{ + { + const real_t _data_q_w [] = {-0.28125, 0.26041666666666669, 0.26041666666666669, 0.26041666666666669}; + + const real_t _data_q_p_0 [] = {0.33333333333333331, 0.20000000000000001, 0.59999999999999998, 0.20000000000000001}; + + const real_t _data_q_p_1 [] = {0.33333333333333331, 0.59999999999999998, 0.20000000000000001, 0.20000000000000001}; + + const real_t tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0; + const real_t p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1; + const real_t p_affine_const_1_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t p_affine_const_1_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t p_affine_const_2_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t p_affine_const_2_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY; + const real_t jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY; + const real_t jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY; + const real_t jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY; + const real_t abs_det_jac_affine_GRAY = abs(jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY); + { + /* FaceType.GRAY */ + const real_t _data_phi_psi_jac_affine_det_0_0_GRAY [] = {((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037063)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814817)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814817)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814817)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*-0.023999999999999987)), ((real_t)(abs_det_jac_affine_GRAY*-0.024000000000000007)), ((real_t)(abs_det_jac_affine_GRAY*0.024000000000000007)), ((real_t)(abs_det_jac_affine_GRAY*0.09600000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.09600000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000015)), ((real_t)(abs_det_jac_affine_GRAY*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_GRAY*0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.071999999999999939)), ((real_t)(abs_det_jac_affine_GRAY*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.09600000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.28800000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.28800000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002))}; + + for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1) + { + for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 += 4) + { + const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]); + const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]); + const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]); + const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]); + const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]); + const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]); + const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]); + const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]); + const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]); + const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 4; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_4 = _mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_2)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_4))),_mm256_mul_pd(k_dof_5,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))))),_mm256_mul_pd(k_dof_4,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_0),tmp_qloop_2),tmp_qloop_4))),_mm256_mul_pd(k_dof_3,tmp_qloop_0)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5])); + const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9])); + const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10])); + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11])); + const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12])); + const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16])); + const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1); + q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2); + q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3); + q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4); + q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5); + q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2); + q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3); + q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4); + q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5); + q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0); + q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3); + q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4); + q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5); + } + const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)); + const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)); + const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 < -ctr_1 + micro_edges_per_macro_edge; ctr_0 += 1) + { + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t src_dof_3 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t k_dof_3 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q]; + const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_2 = tmp_qloop_1*2.0; + const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_4 = tmp_qloop_3*2.0; + const real_t tmp_qloop_5 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t q_tmp_0_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q]; + const real_t q_tmp_0_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5]; + const real_t q_tmp_1_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6]; + const real_t q_tmp_1_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7]; + const real_t q_tmp_1_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8]; + const real_t q_tmp_1_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9]; + const real_t q_tmp_1_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10]; + const real_t q_tmp_1_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11]; + const real_t q_tmp_2_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12]; + const real_t q_tmp_2_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13]; + const real_t q_tmp_2_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14]; + const real_t q_tmp_2_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15]; + const real_t q_tmp_2_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16]; + const real_t q_tmp_2_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5; + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + } + } + } + const real_t tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE; + const real_t p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE; + const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE; + const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE; + const real_t p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE; + const real_t p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE; + const real_t jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE; + const real_t jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE; + const real_t jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE; + const real_t jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE; + const real_t abs_det_jac_affine_BLUE = abs(jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE); + { + /* FaceType.BLUE */ + const real_t _data_phi_psi_jac_affine_det_0_0_BLUE [] = {((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037063)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814817)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814817)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814817)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*-0.023999999999999987)), ((real_t)(abs_det_jac_affine_BLUE*-0.024000000000000007)), ((real_t)(abs_det_jac_affine_BLUE*0.024000000000000007)), ((real_t)(abs_det_jac_affine_BLUE*0.09600000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.09600000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000015)), ((real_t)(abs_det_jac_affine_BLUE*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_BLUE*0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.071999999999999939)), ((real_t)(abs_det_jac_affine_BLUE*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.09600000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.28800000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.28800000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002))}; + + for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1) + { + for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4) + { + const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]); + const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]); + const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]); + const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]); + const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]); + const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]); + const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]); + const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]); + const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]); + const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 4; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_4 = _mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_2)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_4))),_mm256_mul_pd(k_dof_5,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))))),_mm256_mul_pd(k_dof_4,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_0),tmp_qloop_2),tmp_qloop_4))),_mm256_mul_pd(k_dof_3,tmp_qloop_0)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5])); + const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9])); + const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10])); + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11])); + const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12])); + const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16])); + const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1); + q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2); + q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3); + q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4); + q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5); + q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2); + q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3); + q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4); + q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5); + q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0); + q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3); + q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4); + q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5); + } + const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)); + const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)); + const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + const real_t src_dof_3 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + const real_t k_dof_3 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q]; + const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_2 = tmp_qloop_1*2.0; + const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_4 = tmp_qloop_3*2.0; + const real_t tmp_qloop_5 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t q_tmp_0_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q]; + const real_t q_tmp_0_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5]; + const real_t q_tmp_1_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6]; + const real_t q_tmp_1_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7]; + const real_t q_tmp_1_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8]; + const real_t q_tmp_1_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9]; + const real_t q_tmp_1_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10]; + const real_t q_tmp_1_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11]; + const real_t q_tmp_2_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12]; + const real_t q_tmp_2_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13]; + const real_t q_tmp_2_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14]; + const real_t q_tmp_2_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15]; + const real_t q_tmp_2_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16]; + const real_t q_tmp_2_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5; + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + } + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/k_mass/avx/P2ToP1ElementwiseKMass_apply_macro_3D.cpp b/operators/k_mass/avx/P2ToP1ElementwiseKMass_apply_macro_3D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..2a11cffcd00496497f966b707b7a8716c1dd1179 --- /dev/null +++ b/operators/k_mass/avx/P2ToP1ElementwiseKMass_apply_macro_3D.cpp @@ -0,0 +1,2312 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + + + + + + + + + + + + + + + + + + + + + + + + + +#include "../P2ToP1ElementwiseKMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P2ToP1ElementwiseKMass::apply_macro_3D( real_t * RESTRICT _data_dst, real_t * RESTRICT _data_kEdge, real_t * RESTRICT _data_kVertex, real_t * RESTRICT _data_srcEdge, real_t * RESTRICT _data_srcVertex, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_0comp2, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_1comp2, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, real_t macro_vertex_coord_id_2comp2, real_t macro_vertex_coord_id_3comp0, real_t macro_vertex_coord_id_3comp1, real_t macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float ) const +{ + { + const real_t _data_q_w [] = {-0.1333333333333333, 0.074999999999999983, 0.074999999999999983, 0.074999999999999983, 0.074999999999999983}; + + const real_t _data_q_p_0 [] = {0.25, 0.16666666666666666, 0.16666666666666666, 0.5, 0.16666666666666666}; + + const real_t _data_q_p_1 [] = {0.25, 0.16666666666666666, 0.5, 0.16666666666666666, 0.16666666666666666}; + + const real_t _data_q_p_2 [] = {0.25, 0.5, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666}; + + const real_t tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const real_t p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const real_t p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const real_t p_affine_const_1_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t p_affine_const_1_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t p_affine_const_1_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t p_affine_const_2_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t p_affine_const_2_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t p_affine_const_2_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t p_affine_const_3_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t p_affine_const_3_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t p_affine_const_3_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const real_t abs_det_jac_affine_WHITE_UP = abs(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + { + /* CellType.WHITE_UP */ + const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_UP [] = {((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555594)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + { + for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 += 4) + { + const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 5; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_11 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d tmp_qloop_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14])); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5])); + const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6])); + const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7])); + const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8])); + const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9])); + const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13])); + const __m256d q_tmp_1_4 = tmp_qloop_12; + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15])); + const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16])); + const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17])); + const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18])); + const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19])); + const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20])); + const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24])); + const __m256d q_tmp_2_5 = tmp_qloop_12; + const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25])); + const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26])); + const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27])); + const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28])); + const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29])); + const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30])); + const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32])); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33])); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34])); + const __m256d q_tmp_3_6 = tmp_qloop_12; + const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35])); + const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36])); + const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1); + q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2); + q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3); + q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4); + q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5); + q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6); + q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7); + q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8); + q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9); + q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2); + q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3); + q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4); + q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5); + q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6); + q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7); + q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8); + q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9); + q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0); + q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3); + q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4); + q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5); + q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6); + q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7); + q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8); + q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9); + q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0); + q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1); + q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2); + q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3); + q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4); + q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5); + q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6); + q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7); + q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8); + q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9); + } + const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9)); + const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9)); + const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9)); + const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9)); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1) + { + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 5; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_12; + const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_12; + const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_12; + const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + } + } + } + const real_t tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const real_t tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const real_t tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t tmp_coords_jac_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const real_t tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const real_t p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const real_t p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const real_t p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const real_t p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const real_t p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_1_WHITE_DOWN; + const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_4_WHITE_DOWN; + const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_7_WHITE_DOWN; + const real_t p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const real_t p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const real_t p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const real_t abs_det_jac_affine_WHITE_DOWN = abs(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + { + /* CellType.WHITE_DOWN */ + const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_DOWN [] = {((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555594)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + { + for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2) / (4)) * (4); ctr_0 += 4) + { + const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]); + const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]); + const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 5; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_11 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d tmp_qloop_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14])); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5])); + const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6])); + const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7])); + const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8])); + const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9])); + const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13])); + const __m256d q_tmp_1_4 = tmp_qloop_12; + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15])); + const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16])); + const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17])); + const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18])); + const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19])); + const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20])); + const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24])); + const __m256d q_tmp_2_5 = tmp_qloop_12; + const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25])); + const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26])); + const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27])); + const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28])); + const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29])); + const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30])); + const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32])); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33])); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34])); + const __m256d q_tmp_3_6 = tmp_qloop_12; + const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35])); + const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36])); + const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1); + q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2); + q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3); + q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4); + q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5); + q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6); + q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7); + q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8); + q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9); + q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2); + q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3); + q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4); + q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5); + q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6); + q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7); + q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8); + q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9); + q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0); + q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3); + q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4); + q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5); + q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6); + q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7); + q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8); + q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9); + q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0); + q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1); + q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2); + q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3); + q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4); + q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5); + q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6); + q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7); + q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8); + q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9); + } + const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9)); + const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9)); + const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9)); + const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9)); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1) + { + const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 5; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_12; + const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_12; + const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_12; + const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + } + } + } + const real_t tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const real_t p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const real_t p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const real_t p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const real_t p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const real_t p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const real_t p_affine_const_3_0_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_coords_jac_1_BLUE_UP; + const real_t p_affine_const_3_1_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_coords_jac_2_BLUE_UP; + const real_t p_affine_const_3_2_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_coords_jac_3_BLUE_UP; + const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const real_t abs_det_jac_affine_BLUE_UP = abs(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + { + /* CellType.BLUE_UP */ + const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_UP [] = {((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555594)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + { + for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4) + { + const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 5; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_11 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d tmp_qloop_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14])); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5])); + const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6])); + const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7])); + const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8])); + const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9])); + const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13])); + const __m256d q_tmp_1_4 = tmp_qloop_12; + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15])); + const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16])); + const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17])); + const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18])); + const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19])); + const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20])); + const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24])); + const __m256d q_tmp_2_5 = tmp_qloop_12; + const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25])); + const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26])); + const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27])); + const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28])); + const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29])); + const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30])); + const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32])); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33])); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34])); + const __m256d q_tmp_3_6 = tmp_qloop_12; + const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35])); + const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36])); + const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1); + q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2); + q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3); + q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4); + q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5); + q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6); + q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7); + q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8); + q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9); + q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2); + q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3); + q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4); + q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5); + q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6); + q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7); + q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8); + q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9); + q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0); + q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3); + q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4); + q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5); + q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6); + q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7); + q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8); + q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9); + q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0); + q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1); + q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2); + q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3); + q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4); + q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5); + q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6); + q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7); + q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8); + q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9); + } + const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9)); + const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9)); + const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9)); + const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9)); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 5; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_12; + const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_12; + const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_12; + const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + } + } + } + const real_t tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const real_t tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const real_t tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const real_t p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const real_t p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const real_t p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const real_t p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const real_t p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const real_t p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const real_t p_affine_const_2_0_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_coords_jac_5_BLUE_DOWN; + const real_t p_affine_const_2_1_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_coords_jac_7_BLUE_DOWN; + const real_t p_affine_const_2_2_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_coords_jac_9_BLUE_DOWN; + const real_t p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const real_t p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const real_t p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const real_t abs_det_jac_affine_BLUE_DOWN = abs(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + { + /* CellType.BLUE_DOWN */ + const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_DOWN [] = {((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555594)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + { + for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4) + { + const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 5; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_11 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d tmp_qloop_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14])); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5])); + const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6])); + const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7])); + const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8])); + const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9])); + const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13])); + const __m256d q_tmp_1_4 = tmp_qloop_12; + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15])); + const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16])); + const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17])); + const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18])); + const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19])); + const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20])); + const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24])); + const __m256d q_tmp_2_5 = tmp_qloop_12; + const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25])); + const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26])); + const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27])); + const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28])); + const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29])); + const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30])); + const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32])); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33])); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34])); + const __m256d q_tmp_3_6 = tmp_qloop_12; + const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35])); + const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36])); + const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1); + q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2); + q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3); + q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4); + q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5); + q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6); + q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7); + q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8); + q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9); + q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2); + q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3); + q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4); + q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5); + q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6); + q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7); + q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8); + q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9); + q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0); + q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3); + q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4); + q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5); + q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6); + q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7); + q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8); + q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9); + q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0); + q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1); + q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2); + q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3); + q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4); + q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5); + q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6); + q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7); + q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8); + q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9); + } + const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9)); + const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9)); + const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9)); + const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9)); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 5; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_12; + const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_12; + const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_12; + const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + } + } + } + const real_t tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const real_t p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const real_t p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t p_affine_const_1_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t p_affine_const_1_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const real_t p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const real_t p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const real_t p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const real_t abs_det_jac_affine_GREEN_UP = abs(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + { + /* CellType.GREEN_UP */ + const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_UP [] = {((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555594)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + { + for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4) + { + const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 5; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_11 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d tmp_qloop_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14])); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5])); + const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6])); + const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7])); + const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8])); + const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9])); + const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13])); + const __m256d q_tmp_1_4 = tmp_qloop_12; + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15])); + const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16])); + const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17])); + const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18])); + const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19])); + const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20])); + const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24])); + const __m256d q_tmp_2_5 = tmp_qloop_12; + const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25])); + const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26])); + const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27])); + const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28])); + const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29])); + const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30])); + const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32])); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33])); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34])); + const __m256d q_tmp_3_6 = tmp_qloop_12; + const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35])); + const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36])); + const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1); + q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2); + q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3); + q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4); + q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5); + q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6); + q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7); + q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8); + q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9); + q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2); + q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3); + q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4); + q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5); + q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6); + q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7); + q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8); + q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9); + q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0); + q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3); + q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4); + q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5); + q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6); + q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7); + q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8); + q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9); + q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0); + q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1); + q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2); + q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3); + q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4); + q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5); + q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6); + q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7); + q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8); + q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9); + } + const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9)); + const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9)); + const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9)); + const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9)); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 5; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_12; + const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_12; + const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_12; + const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + } + } + } + const real_t tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const real_t p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const real_t p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const real_t p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const real_t p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const real_t p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const real_t p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const real_t p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const real_t p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const real_t abs_det_jac_affine_GREEN_DOWN = abs(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + { + /* CellType.GREEN_DOWN */ + const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_DOWN [] = {((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555594)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + { + for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4) + { + const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]); + const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]); + const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 5; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_11 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d tmp_qloop_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14])); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5])); + const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6])); + const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7])); + const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8])); + const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9])); + const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13])); + const __m256d q_tmp_1_4 = tmp_qloop_12; + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15])); + const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16])); + const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17])); + const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18])); + const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19])); + const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20])); + const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24])); + const __m256d q_tmp_2_5 = tmp_qloop_12; + const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25])); + const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26])); + const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27])); + const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28])); + const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29])); + const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30])); + const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32])); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33])); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34])); + const __m256d q_tmp_3_6 = tmp_qloop_12; + const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35])); + const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36])); + const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1); + q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2); + q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3); + q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4); + q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5); + q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6); + q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7); + q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8); + q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9); + q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2); + q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3); + q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4); + q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5); + q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6); + q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7); + q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8); + q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9); + q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0); + q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3); + q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4); + q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5); + q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6); + q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7); + q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8); + q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9); + q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0); + q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1); + q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2); + q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3); + q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4); + q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5); + q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6); + q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7); + q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8); + q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9); + } + const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9)); + const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9)); + const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9)); + const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9)); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 5; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_12; + const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_12; + const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_12; + const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + } + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/k_mass/noarch/P2ToP1ElementwiseKMassAnnulusMap_apply_macro_2D.cpp b/operators/k_mass/noarch/P2ToP1ElementwiseKMassAnnulusMap_apply_macro_2D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..4bd17cf96bf9e9e016c104592733f04018523cc6 --- /dev/null +++ b/operators/k_mass/noarch/P2ToP1ElementwiseKMassAnnulusMap_apply_macro_2D.cpp @@ -0,0 +1,349 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + + + + + + + + + + + + + + + + + + + + + + + + + + + +#include "../P2ToP1ElementwiseKMassAnnulusMap.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P2ToP1ElementwiseKMassAnnulusMap::apply_macro_2D( real_t * RESTRICT _data_dst, real_t * RESTRICT _data_kEdge, real_t * RESTRICT _data_kVertex, real_t * RESTRICT _data_srcEdge, real_t * RESTRICT _data_srcVertex, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float, real_t radRayVertex, real_t radRefVertex, real_t rayVertex_0, real_t rayVertex_1, real_t refVertex_0, real_t refVertex_1, real_t thrVertex_0, real_t thrVertex_1 ) const +{ + { + const real_t _data_q_w [] = {0.11169079483900581, 0.054975871827660949, 0.11169079483900581, 0.054975871827660949, 0.11169079483900581, 0.054975871827660949}; + + const real_t _data_q_p_0 [] = {0.44594849091596489, 0.091576213509770715, 0.10810301816807022, 0.81684757298045851, 0.44594849091596489, 0.091576213509770715}; + + const real_t _data_q_p_1 [] = {0.10810301816807022, 0.81684757298045851, 0.44594849091596489, 0.091576213509770715, 0.44594849091596489, 0.091576213509770715}; + + const real_t tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0; + const real_t p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1; + const real_t p_affine_const_1_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t p_affine_const_1_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t p_affine_const_2_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t p_affine_const_2_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY; + const real_t jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY; + const real_t jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY; + const real_t jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY; + const real_t abs_det_jac_affine_GRAY = abs(jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY); + const real_t tmp_qloop_5 = rayVertex_1 - thrVertex_1; + const real_t tmp_qloop_11 = rayVertex_0 - thrVertex_0; + const real_t tmp_qloop_12 = (radRayVertex - radRefVertex)*1.0 / (-tmp_qloop_11*(rayVertex_1 - refVertex_1) + tmp_qloop_5*(rayVertex_0 - refVertex_0)); + { + /* FaceType.GRAY */ + const real_t _data_phi_psi_jac_affine_det_0_0_GRAY [] = {((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337108)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428435066)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926711)), ((real_t)(abs_det_jac_affine_GRAY*-0.006850249469692685)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425765)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877074)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877075)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888579)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926685)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425751)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877073)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877074)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808810999)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*0.42282672224882095)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524447)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524458)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770705)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*-0.005211471142843504)), ((real_t)(abs_det_jac_affine_GRAY*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337108)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926625)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425779)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926867)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770747)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888588)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770757)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808810909)), ((real_t)(abs_det_jac_affine_GRAY*0.42282672224882095)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524447)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770705)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524458)), ((real_t)(abs_det_jac_affine_GRAY*-0.006850249469692659)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425751)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877073)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877074)), ((real_t)(abs_det_jac_affine_GRAY*-0.0091596220343278956)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337108)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373978)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373978)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778429)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778429)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*0.42282672224882117)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877073)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524444)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524444)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425772)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425772)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726))}; + + for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 + micro_edges_per_macro_edge; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0; + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t src_dof_3 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t k_dof_3 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + for (int64_t q = 0; q < 6; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q]; + const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_2 = tmp_qloop_1*2.0; + const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_4 = tmp_qloop_3*2.0; + const real_t tmp_qloop_6 = -p_affine_0_0 + (p_affine_0_0 - p_affine_1_0)*_data_q_p_0[q] + (p_affine_0_0 - p_affine_2_0)*_data_q_p_1[q]; + const real_t tmp_qloop_7 = (tmp_qloop_6*tmp_qloop_6); + const real_t tmp_qloop_8 = -p_affine_0_1 + (p_affine_0_1 - p_affine_1_1)*_data_q_p_0[q] + (p_affine_0_1 - p_affine_2_1)*_data_q_p_1[q]; + const real_t tmp_qloop_9 = (tmp_qloop_8*tmp_qloop_8); + const real_t tmp_qloop_10 = tmp_qloop_7 + tmp_qloop_9; + const real_t tmp_qloop_13 = pow(tmp_qloop_10, -0.50000000000000000)*tmp_qloop_12*1.0; + const real_t tmp_qloop_14 = tmp_qloop_13*tmp_qloop_6; + const real_t tmp_qloop_15 = tmp_qloop_11*(rayVertex_1 + tmp_qloop_8) - tmp_qloop_5*(rayVertex_0 + tmp_qloop_6); + const real_t tmp_qloop_16 = pow(tmp_qloop_10, -1.5000000000000000)*1.0; + const real_t tmp_qloop_17 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15); + const real_t tmp_qloop_18 = tmp_qloop_13*tmp_qloop_8; + const real_t tmp_qloop_19 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15); + const real_t tmp_qloop_20 = tmp_qloop_6*tmp_qloop_8; + const real_t tmp_qloop_21 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*abs((tmp_qloop_11*tmp_qloop_14 - tmp_qloop_19*tmp_qloop_20)*(tmp_qloop_17*tmp_qloop_20 + tmp_qloop_18*tmp_qloop_5) - (tmp_qloop_11*tmp_qloop_18 + tmp_qloop_19*tmp_qloop_7)*(tmp_qloop_14*tmp_qloop_5 - tmp_qloop_17*tmp_qloop_9))*_data_q_w[q]; + const real_t q_tmp_0_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q]; + const real_t q_tmp_0_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5]; + const real_t q_tmp_1_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6]; + const real_t q_tmp_1_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7]; + const real_t q_tmp_1_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8]; + const real_t q_tmp_1_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9]; + const real_t q_tmp_1_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10]; + const real_t q_tmp_1_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11]; + const real_t q_tmp_2_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12]; + const real_t q_tmp_2_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13]; + const real_t q_tmp_2_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14]; + const real_t q_tmp_2_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15]; + const real_t q_tmp_2_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16]; + const real_t q_tmp_2_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5; + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + } + } + const real_t tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE; + const real_t p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE; + const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE; + const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE; + const real_t p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE; + const real_t p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE; + const real_t jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE; + const real_t jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE; + const real_t jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE; + const real_t jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE; + const real_t abs_det_jac_affine_BLUE = abs(jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE); + { + /* FaceType.BLUE */ + const real_t _data_phi_psi_jac_affine_det_0_0_BLUE [] = {((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337108)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428435066)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926711)), ((real_t)(abs_det_jac_affine_BLUE*-0.006850249469692685)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425765)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877074)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877075)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888579)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926685)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425751)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877073)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877074)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808810999)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*0.42282672224882095)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524447)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524458)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770705)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*-0.005211471142843504)), ((real_t)(abs_det_jac_affine_BLUE*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337108)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926625)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425779)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926867)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770747)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888588)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770757)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808810909)), ((real_t)(abs_det_jac_affine_BLUE*0.42282672224882095)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524447)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770705)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524458)), ((real_t)(abs_det_jac_affine_BLUE*-0.006850249469692659)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425751)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877073)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877074)), ((real_t)(abs_det_jac_affine_BLUE*-0.0091596220343278956)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337108)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373978)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373978)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778429)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778429)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*0.42282672224882117)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877073)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524444)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524444)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425772)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425772)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726))}; + + for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0; + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + const real_t src_dof_3 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + const real_t k_dof_3 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + for (int64_t q = 0; q < 6; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q]; + const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_2 = tmp_qloop_1*2.0; + const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_4 = tmp_qloop_3*2.0; + const real_t tmp_qloop_6 = -p_affine_0_0 + (p_affine_0_0 - p_affine_1_0)*_data_q_p_0[q] + (p_affine_0_0 - p_affine_2_0)*_data_q_p_1[q]; + const real_t tmp_qloop_7 = (tmp_qloop_6*tmp_qloop_6); + const real_t tmp_qloop_8 = -p_affine_0_1 + (p_affine_0_1 - p_affine_1_1)*_data_q_p_0[q] + (p_affine_0_1 - p_affine_2_1)*_data_q_p_1[q]; + const real_t tmp_qloop_9 = (tmp_qloop_8*tmp_qloop_8); + const real_t tmp_qloop_10 = tmp_qloop_7 + tmp_qloop_9; + const real_t tmp_qloop_13 = pow(tmp_qloop_10, -0.50000000000000000)*tmp_qloop_12*1.0; + const real_t tmp_qloop_14 = tmp_qloop_13*tmp_qloop_6; + const real_t tmp_qloop_15 = tmp_qloop_11*(rayVertex_1 + tmp_qloop_8) - tmp_qloop_5*(rayVertex_0 + tmp_qloop_6); + const real_t tmp_qloop_16 = pow(tmp_qloop_10, -1.5000000000000000)*1.0; + const real_t tmp_qloop_17 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15); + const real_t tmp_qloop_18 = tmp_qloop_13*tmp_qloop_8; + const real_t tmp_qloop_19 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15); + const real_t tmp_qloop_20 = tmp_qloop_6*tmp_qloop_8; + const real_t tmp_qloop_21 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*abs((tmp_qloop_11*tmp_qloop_14 - tmp_qloop_19*tmp_qloop_20)*(tmp_qloop_17*tmp_qloop_20 + tmp_qloop_18*tmp_qloop_5) - (tmp_qloop_11*tmp_qloop_18 + tmp_qloop_19*tmp_qloop_7)*(tmp_qloop_14*tmp_qloop_5 - tmp_qloop_17*tmp_qloop_9))*_data_q_w[q]; + const real_t q_tmp_0_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q]; + const real_t q_tmp_0_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5]; + const real_t q_tmp_1_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6]; + const real_t q_tmp_1_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7]; + const real_t q_tmp_1_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8]; + const real_t q_tmp_1_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9]; + const real_t q_tmp_1_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10]; + const real_t q_tmp_1_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11]; + const real_t q_tmp_2_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12]; + const real_t q_tmp_2_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13]; + const real_t q_tmp_2_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14]; + const real_t q_tmp_2_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15]; + const real_t q_tmp_2_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16]; + const real_t q_tmp_2_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5; + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/k_mass/noarch/P2ToP1ElementwiseKMassAnnulusMap_toMatrix_macro_2D.cpp b/operators/k_mass/noarch/P2ToP1ElementwiseKMassAnnulusMap_toMatrix_macro_2D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..865834a9abd23575d9b7f24f96de87059d555a46 --- /dev/null +++ b/operators/k_mass/noarch/P2ToP1ElementwiseKMassAnnulusMap_toMatrix_macro_2D.cpp @@ -0,0 +1,441 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + + + + + + + + + + + + + + + + + + + + + + + + + + + +#include "../P2ToP1ElementwiseKMassAnnulusMap.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P2ToP1ElementwiseKMassAnnulusMap::toMatrix_macro_2D( idx_t * RESTRICT _data_dst, real_t * RESTRICT _data_kEdge, real_t * RESTRICT _data_kVertex, idx_t * RESTRICT _data_srcEdge, idx_t * RESTRICT _data_srcVertex, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, std::shared_ptr< SparseMatrixProxy > mat, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float, real_t radRayVertex, real_t radRefVertex, real_t rayVertex_0, real_t rayVertex_1, real_t refVertex_0, real_t refVertex_1, real_t thrVertex_0, real_t thrVertex_1 ) const +{ + { + const real_t _data_q_w [] = {0.11169079483900581, 0.054975871827660949, 0.11169079483900581, 0.054975871827660949, 0.11169079483900581, 0.054975871827660949}; + + const real_t _data_q_p_0 [] = {0.44594849091596489, 0.091576213509770715, 0.10810301816807022, 0.81684757298045851, 0.44594849091596489, 0.091576213509770715}; + + const real_t _data_q_p_1 [] = {0.10810301816807022, 0.81684757298045851, 0.44594849091596489, 0.091576213509770715, 0.44594849091596489, 0.091576213509770715}; + + const real_t tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0; + const real_t p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1; + const real_t p_affine_const_1_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t p_affine_const_1_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t p_affine_const_2_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t p_affine_const_2_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY; + const real_t jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY; + const real_t jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY; + const real_t jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY; + const real_t abs_det_jac_affine_GRAY = abs(jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY); + const real_t tmp_qloop_5 = rayVertex_1 - thrVertex_1; + const real_t tmp_qloop_11 = rayVertex_0 - thrVertex_0; + const real_t tmp_qloop_12 = (radRayVertex - radRefVertex)*1.0 / (-tmp_qloop_11*(rayVertex_1 - refVertex_1) + tmp_qloop_5*(rayVertex_0 - refVertex_0)); + { + /* FaceType.GRAY */ + const real_t _data_phi_psi_jac_affine_det_0_0_GRAY [] = {((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337108)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428435066)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926711)), ((real_t)(abs_det_jac_affine_GRAY*-0.006850249469692685)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425765)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877074)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877075)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888579)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926685)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425751)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877073)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877074)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808810999)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*0.42282672224882095)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524447)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524458)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770705)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*-0.005211471142843504)), ((real_t)(abs_det_jac_affine_GRAY*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337108)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926625)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425779)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926867)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770747)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888588)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770757)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808810909)), ((real_t)(abs_det_jac_affine_GRAY*0.42282672224882095)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524447)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770705)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524458)), ((real_t)(abs_det_jac_affine_GRAY*-0.006850249469692659)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425751)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877073)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877074)), ((real_t)(abs_det_jac_affine_GRAY*-0.0091596220343278956)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337108)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373978)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373978)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778429)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778429)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*0.42282672224882117)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877073)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524444)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524444)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425772)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425772)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726))}; + + for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 + micro_edges_per_macro_edge; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t k_dof_3 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + for (int64_t q = 0; q < 6; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q]; + const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_2 = tmp_qloop_1*2.0; + const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_4 = tmp_qloop_3*2.0; + const real_t tmp_qloop_6 = -p_affine_0_0 + (p_affine_0_0 - p_affine_1_0)*_data_q_p_0[q] + (p_affine_0_0 - p_affine_2_0)*_data_q_p_1[q]; + const real_t tmp_qloop_7 = (tmp_qloop_6*tmp_qloop_6); + const real_t tmp_qloop_8 = -p_affine_0_1 + (p_affine_0_1 - p_affine_1_1)*_data_q_p_0[q] + (p_affine_0_1 - p_affine_2_1)*_data_q_p_1[q]; + const real_t tmp_qloop_9 = (tmp_qloop_8*tmp_qloop_8); + const real_t tmp_qloop_10 = tmp_qloop_7 + tmp_qloop_9; + const real_t tmp_qloop_13 = pow(tmp_qloop_10, -0.50000000000000000)*tmp_qloop_12*1.0; + const real_t tmp_qloop_14 = tmp_qloop_13*tmp_qloop_6; + const real_t tmp_qloop_15 = tmp_qloop_11*(rayVertex_1 + tmp_qloop_8) - tmp_qloop_5*(rayVertex_0 + tmp_qloop_6); + const real_t tmp_qloop_16 = pow(tmp_qloop_10, -1.5000000000000000)*1.0; + const real_t tmp_qloop_17 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15); + const real_t tmp_qloop_18 = tmp_qloop_13*tmp_qloop_8; + const real_t tmp_qloop_19 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15); + const real_t tmp_qloop_20 = tmp_qloop_6*tmp_qloop_8; + const real_t tmp_qloop_21 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*abs((tmp_qloop_11*tmp_qloop_14 - tmp_qloop_19*tmp_qloop_20)*(tmp_qloop_17*tmp_qloop_20 + tmp_qloop_18*tmp_qloop_5) - (tmp_qloop_11*tmp_qloop_18 + tmp_qloop_19*tmp_qloop_7)*(tmp_qloop_14*tmp_qloop_5 - tmp_qloop_17*tmp_qloop_9))*_data_q_w[q]; + const real_t q_tmp_0_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q]; + const real_t q_tmp_0_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5]; + const real_t q_tmp_1_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6]; + const real_t q_tmp_1_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7]; + const real_t q_tmp_1_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8]; + const real_t q_tmp_1_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9]; + const real_t q_tmp_1_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10]; + const real_t q_tmp_1_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11]; + const real_t q_tmp_2_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12]; + const real_t q_tmp_2_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13]; + const real_t q_tmp_2_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14]; + const real_t q_tmp_2_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15]; + const real_t q_tmp_2_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16]; + const real_t q_tmp_2_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + } + const real_t elMat_0_0 = q_acc_0_0; + const real_t elMat_0_1 = q_acc_0_1; + const real_t elMat_0_2 = q_acc_0_2; + const real_t elMat_0_3 = q_acc_0_3; + const real_t elMat_0_4 = q_acc_0_4; + const real_t elMat_0_5 = q_acc_0_5; + const real_t elMat_1_0 = q_acc_1_0; + const real_t elMat_1_1 = q_acc_1_1; + const real_t elMat_1_2 = q_acc_1_2; + const real_t elMat_1_3 = q_acc_1_3; + const real_t elMat_1_4 = q_acc_1_4; + const real_t elMat_1_5 = q_acc_1_5; + const real_t elMat_2_0 = q_acc_2_0; + const real_t elMat_2_1 = q_acc_2_1; + const real_t elMat_2_2 = q_acc_2_2; + const real_t elMat_2_3 = q_acc_2_3; + const real_t elMat_2_4 = q_acc_2_4; + const real_t elMat_2_5 = q_acc_2_5; + + std::vector< uint_t > _data_rowIdx( 3 ); + std::vector< uint_t > _data_colIdx( 6 ); + std::vector< real_t > _data_mat( 18 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))])); + _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))])); + _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1])); + _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))])); + _data_colIdx[3] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))])); + _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))])); + _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_0_4)); + _data_mat[5] = ((real_t)(elMat_0_5)); + _data_mat[6] = ((real_t)(elMat_1_0)); + _data_mat[7] = ((real_t)(elMat_1_1)); + _data_mat[8] = ((real_t)(elMat_1_2)); + _data_mat[9] = ((real_t)(elMat_1_3)); + _data_mat[10] = ((real_t)(elMat_1_4)); + _data_mat[11] = ((real_t)(elMat_1_5)); + _data_mat[12] = ((real_t)(elMat_2_0)); + _data_mat[13] = ((real_t)(elMat_2_1)); + _data_mat[14] = ((real_t)(elMat_2_2)); + _data_mat[15] = ((real_t)(elMat_2_3)); + _data_mat[16] = ((real_t)(elMat_2_4)); + _data_mat[17] = ((real_t)(elMat_2_5)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + const real_t tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE; + const real_t p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE; + const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE; + const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE; + const real_t p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE; + const real_t p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE; + const real_t jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE; + const real_t jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE; + const real_t jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE; + const real_t jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE; + const real_t abs_det_jac_affine_BLUE = abs(jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE); + { + /* FaceType.BLUE */ + const real_t _data_phi_psi_jac_affine_det_0_0_BLUE [] = {((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337108)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428435066)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926711)), ((real_t)(abs_det_jac_affine_BLUE*-0.006850249469692685)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425765)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877074)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877075)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888579)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926685)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425751)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877073)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877074)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808810999)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*0.42282672224882095)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524447)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524458)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770705)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*-0.005211471142843504)), ((real_t)(abs_det_jac_affine_BLUE*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337108)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926625)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425779)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926867)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770747)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888588)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770757)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808810909)), ((real_t)(abs_det_jac_affine_BLUE*0.42282672224882095)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524447)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770705)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524458)), ((real_t)(abs_det_jac_affine_BLUE*-0.006850249469692659)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425751)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877073)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877074)), ((real_t)(abs_det_jac_affine_BLUE*-0.0091596220343278956)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337108)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373978)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373978)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778429)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778429)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*0.42282672224882117)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877073)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524444)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524444)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425772)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425772)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726))}; + + for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + const real_t k_dof_3 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + for (int64_t q = 0; q < 6; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q]; + const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_2 = tmp_qloop_1*2.0; + const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_4 = tmp_qloop_3*2.0; + const real_t tmp_qloop_6 = -p_affine_0_0 + (p_affine_0_0 - p_affine_1_0)*_data_q_p_0[q] + (p_affine_0_0 - p_affine_2_0)*_data_q_p_1[q]; + const real_t tmp_qloop_7 = (tmp_qloop_6*tmp_qloop_6); + const real_t tmp_qloop_8 = -p_affine_0_1 + (p_affine_0_1 - p_affine_1_1)*_data_q_p_0[q] + (p_affine_0_1 - p_affine_2_1)*_data_q_p_1[q]; + const real_t tmp_qloop_9 = (tmp_qloop_8*tmp_qloop_8); + const real_t tmp_qloop_10 = tmp_qloop_7 + tmp_qloop_9; + const real_t tmp_qloop_13 = pow(tmp_qloop_10, -0.50000000000000000)*tmp_qloop_12*1.0; + const real_t tmp_qloop_14 = tmp_qloop_13*tmp_qloop_6; + const real_t tmp_qloop_15 = tmp_qloop_11*(rayVertex_1 + tmp_qloop_8) - tmp_qloop_5*(rayVertex_0 + tmp_qloop_6); + const real_t tmp_qloop_16 = pow(tmp_qloop_10, -1.5000000000000000)*1.0; + const real_t tmp_qloop_17 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15); + const real_t tmp_qloop_18 = tmp_qloop_13*tmp_qloop_8; + const real_t tmp_qloop_19 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15); + const real_t tmp_qloop_20 = tmp_qloop_6*tmp_qloop_8; + const real_t tmp_qloop_21 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*abs((tmp_qloop_11*tmp_qloop_14 - tmp_qloop_19*tmp_qloop_20)*(tmp_qloop_17*tmp_qloop_20 + tmp_qloop_18*tmp_qloop_5) - (tmp_qloop_11*tmp_qloop_18 + tmp_qloop_19*tmp_qloop_7)*(tmp_qloop_14*tmp_qloop_5 - tmp_qloop_17*tmp_qloop_9))*_data_q_w[q]; + const real_t q_tmp_0_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q]; + const real_t q_tmp_0_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5]; + const real_t q_tmp_1_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6]; + const real_t q_tmp_1_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7]; + const real_t q_tmp_1_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8]; + const real_t q_tmp_1_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9]; + const real_t q_tmp_1_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10]; + const real_t q_tmp_1_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11]; + const real_t q_tmp_2_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12]; + const real_t q_tmp_2_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13]; + const real_t q_tmp_2_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14]; + const real_t q_tmp_2_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15]; + const real_t q_tmp_2_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16]; + const real_t q_tmp_2_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + } + const real_t elMat_0_0 = q_acc_0_0; + const real_t elMat_0_1 = q_acc_0_1; + const real_t elMat_0_2 = q_acc_0_2; + const real_t elMat_0_3 = q_acc_0_3; + const real_t elMat_0_4 = q_acc_0_4; + const real_t elMat_0_5 = q_acc_0_5; + const real_t elMat_1_0 = q_acc_1_0; + const real_t elMat_1_1 = q_acc_1_1; + const real_t elMat_1_2 = q_acc_1_2; + const real_t elMat_1_3 = q_acc_1_3; + const real_t elMat_1_4 = q_acc_1_4; + const real_t elMat_1_5 = q_acc_1_5; + const real_t elMat_2_0 = q_acc_2_0; + const real_t elMat_2_1 = q_acc_2_1; + const real_t elMat_2_2 = q_acc_2_2; + const real_t elMat_2_3 = q_acc_2_3; + const real_t elMat_2_4 = q_acc_2_4; + const real_t elMat_2_5 = q_acc_2_5; + + std::vector< uint_t > _data_rowIdx( 3 ); + std::vector< uint_t > _data_colIdx( 6 ); + std::vector< real_t > _data_mat( 18 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1])); + _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1])); + _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))])); + _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1])); + _data_colIdx[3] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))])); + _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1])); + _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_0_4)); + _data_mat[5] = ((real_t)(elMat_0_5)); + _data_mat[6] = ((real_t)(elMat_1_0)); + _data_mat[7] = ((real_t)(elMat_1_1)); + _data_mat[8] = ((real_t)(elMat_1_2)); + _data_mat[9] = ((real_t)(elMat_1_3)); + _data_mat[10] = ((real_t)(elMat_1_4)); + _data_mat[11] = ((real_t)(elMat_1_5)); + _data_mat[12] = ((real_t)(elMat_2_0)); + _data_mat[13] = ((real_t)(elMat_2_1)); + _data_mat[14] = ((real_t)(elMat_2_2)); + _data_mat[15] = ((real_t)(elMat_2_3)); + _data_mat[16] = ((real_t)(elMat_2_4)); + _data_mat[17] = ((real_t)(elMat_2_5)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/k_mass/noarch/P2ToP1ElementwiseKMassIcosahedralShellMap_apply_macro_3D.cpp b/operators/k_mass/noarch/P2ToP1ElementwiseKMassIcosahedralShellMap_apply_macro_3D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..225a66b8fc49ab7693c253bfc6c4ae1a6b3d3977 --- /dev/null +++ b/operators/k_mass/noarch/P2ToP1ElementwiseKMassIcosahedralShellMap_apply_macro_3D.cpp @@ -0,0 +1,1640 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + + + + + + + + + + + + + + + + + + + + + + + + + + + +#include "../P2ToP1ElementwiseKMassIcosahedralShellMap.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P2ToP1ElementwiseKMassIcosahedralShellMap::apply_macro_3D( real_t * RESTRICT _data_dst, real_t * RESTRICT _data_kEdge, real_t * RESTRICT _data_kVertex, real_t * RESTRICT _data_srcEdge, real_t * RESTRICT _data_srcVertex, real_t forVertex_0, real_t forVertex_1, real_t forVertex_2, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_0comp2, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_1comp2, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, real_t macro_vertex_coord_id_2comp2, real_t macro_vertex_coord_id_3comp0, real_t macro_vertex_coord_id_3comp1, real_t macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float, real_t radRayVertex, real_t radRefVertex, real_t rayVertex_0, real_t rayVertex_1, real_t rayVertex_2, real_t refVertex_0, real_t refVertex_1, real_t refVertex_2, real_t thrVertex_0, real_t thrVertex_1, real_t thrVertex_2 ) const +{ + { + const real_t _data_q_w [] = {0.02364442875776411, 0.0041220137385117907, 0.025486503738822306, 0.0091363578885896128, 0.0052827872295400091, 0.02526054964096567, 0.01949470769240411, 0.0094909452962763929, 0.019522077110586403, 0.018549261128954084, 0.0066770344442521412}; + + const real_t _data_q_p_0 [] = {0.4881393122183349, 0.028620108024415062, 0.12011493111997025, 0.19015055018870972, 0.81934505243836264, 0.33721826230431567, 0.086557484679865959, 0.079692524193577793, 0.061206893331017434, 0.43957887847117094, 0.085226802665704912}; + + const real_t _data_q_p_1 [] = {0.31081202744417918, 0.1144811451032984, 0.33248812467264544, 0.58529107547132619, 0.026719351714152292, 0.11264913310739497, 0.079391877387070833, 0.063296594113889035, 0.44299746808745322, 0.057741550565775693, 0.77428400209089154}; + + const real_t _data_q_p_2 [] = {0.082320586256909412, 0.85148303380032098, 0.10040383353811888, 0.21187112908079075, 0.11113976289693195, 0.45821473775386756, 0.49383422023194623, 0.10603293862052354, 0.35074787972985066, 0.10858823393329198, 0.0088057690417862045}; + + const real_t tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const real_t p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const real_t p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const real_t p_affine_const_1_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t p_affine_const_1_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t p_affine_const_1_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t p_affine_const_2_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t p_affine_const_2_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t p_affine_const_2_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t p_affine_const_3_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t p_affine_const_3_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t p_affine_const_3_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const real_t abs_det_jac_affine_WHITE_UP = abs(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const real_t tmp_qloop_19 = rayVertex_1 - refVertex_1; + const real_t tmp_qloop_20 = -rayVertex_0; + const real_t tmp_qloop_21 = -forVertex_0 - tmp_qloop_20; + const real_t tmp_qloop_22 = rayVertex_2 - thrVertex_2; + const real_t tmp_qloop_23 = tmp_qloop_21*tmp_qloop_22; + const real_t tmp_qloop_24 = rayVertex_2 - refVertex_2; + const real_t tmp_qloop_25 = rayVertex_1 - thrVertex_1; + const real_t tmp_qloop_26 = tmp_qloop_21*tmp_qloop_25; + const real_t tmp_qloop_27 = -rayVertex_1; + const real_t tmp_qloop_28 = -forVertex_1 - tmp_qloop_27; + const real_t tmp_qloop_29 = rayVertex_0 - thrVertex_0; + const real_t tmp_qloop_30 = rayVertex_0 - refVertex_0; + const real_t tmp_qloop_31 = -rayVertex_2; + const real_t tmp_qloop_32 = -forVertex_2 - tmp_qloop_31; + const real_t tmp_qloop_33 = tmp_qloop_22*tmp_qloop_28; + const real_t tmp_qloop_34 = tmp_qloop_29*tmp_qloop_32; + const real_t tmp_qloop_35 = tmp_qloop_19*tmp_qloop_23 - tmp_qloop_19*tmp_qloop_34 - tmp_qloop_24*tmp_qloop_26 + tmp_qloop_24*tmp_qloop_28*tmp_qloop_29 + tmp_qloop_25*tmp_qloop_30*tmp_qloop_32 - tmp_qloop_30*tmp_qloop_33; + const real_t tmp_qloop_36 = 1.0 / (tmp_qloop_35*tmp_qloop_35*tmp_qloop_35); + const real_t tmp_qloop_37 = radRayVertex - radRefVertex; + const real_t tmp_qloop_38 = tmp_qloop_37*(-tmp_qloop_26 + tmp_qloop_28*tmp_qloop_29); + const real_t tmp_qloop_45 = tmp_qloop_37*(tmp_qloop_25*tmp_qloop_32 - tmp_qloop_33); + const real_t tmp_qloop_47 = -tmp_qloop_23 + tmp_qloop_29*tmp_qloop_32; + { + /* CellType.WHITE_UP */ + const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_UP [] = {((real_t)(abs_det_jac_affine_WHITE_UP*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012151214443257608)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019083835042434261)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.072053489056043002)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017525267423213611)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.027523941260433657)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.049958575567593019)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.078461393265588306)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.29624114484395714)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.072053489056042974)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.11316209633188964)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.031810029988819218)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.18862506775555832)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012151214443257601)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.045878482755592566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.07205348905604296)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013231853551815916)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012151214443257603)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_UP*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_WHITE_UP*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017130957178208683)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.011159409734644826)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_WHITE_UP*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.068524255492113287)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.044637916950180538)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.000283911881665389)), ((real_t)(abs_det_jac_affine_WHITE_UP*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.50966681808331993)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.33200601647520916)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.083000987173061064)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015706073884687172)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021562946853404222)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.071405876738584673)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.080243884747120436)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.26572828761452333)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.095997217930328324)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.016039226535213912)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019188018251946451)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021562946853404225)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025796145274243024)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.044397913749511943)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053114031247306501)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.19765740883375349)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013407157762204741)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018024424659562992)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.059688031245203853)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021562946853404232)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018984670973016902)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.094319450236798913)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.030642694050274453)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.084650020197820364)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058435584226493004)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.29031907828914638)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.26055618198886238)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017384857321768536)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021153258143552994)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.10509340307518385)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034142957672569287)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.022395383667253931)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015588264867481133)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.42876947450525699)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.009732450635762396)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.29844418988237825)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.071749615697017544)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015588264867481126)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.1149198753205366)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013982439217157605)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058160280082415236)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040482354049473784)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015588264867481138)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018978279386089755)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.056811998632973766)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01396686284573566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015485631440181358)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01139648574059631)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.069625445155635055)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.20842567519062763)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.051240105769272605)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.056811998632973738)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013966862845735664)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.041810186095187066)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.023258663351751644)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017116965895609845)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018978279386089748)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01396686284573564)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.094607584046545581)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.28321039153111127)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.077196575526473174)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018978279386089758)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.056811998632973676)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053354679030800815)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.22863973450271471)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.036757553494219546)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040075149727639509)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013574438423676774)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.014799615333023134)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058170268354931248)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.009351816102656051)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.010195875266786407)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012450687019346486)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053354679030800829)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.077445898974953548)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.084435869696849797)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.3318773554937019)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053354679030800836)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.2830869924348563)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020160825588817252)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025383152182066201)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.23919668259056145)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.14278898169094956)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.17977609281010931)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.030040718507945225)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.002139433116273644)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025383152182066195)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019077538505445499)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.023860144794362503)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020160825588817249)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012035048833865587)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01515252809081665)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.039969943152159265)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.033772932211040815)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020160825588817245)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025383152182066191)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.090150328303510344)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.029517331411893867)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.037280633286332542)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.038041411821271319)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012455650259246798)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015731589118882314)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.27533253531028662)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.048046617223388682)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.090150328303510385)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.11386060898348732)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.21799741519439725)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.030119685775736597)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.07137746553252089)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.090150328303510371)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.067458477890573201)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.035870894765649017)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.27308043404340754)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.011024731463671476)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.083929839859876898)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.044629504659074608)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.30460043053460045)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.005862376301973493)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020733009548559916)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018587561536304909)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055932196812816262)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053705963564394235)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.036199865373541695)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.022496381554864123)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034759025419540221)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.32887513974352289)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.02111678772433076)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.20437923045390871)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.31578513412249021)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_WHITE_UP*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_WHITE_UP*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00039530708258920849))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 11; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q]; + const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q]; + const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q]; + const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11); + const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12); + const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13); + const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16; + const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000); + const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31; + const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20; + const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27; + const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41); + const real_t tmp_qloop_43 = -tmp_qloop_42; + const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38; + const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45; + const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47; + const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42); + const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36; + const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46; + const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44; + const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42); + const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0; + const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42); + const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q]; + const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_57; + const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_57; + const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_57; + const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + } + } + const real_t tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const real_t tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const real_t tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t tmp_coords_jac_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const real_t tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const real_t p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const real_t p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const real_t p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const real_t p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const real_t p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_1_WHITE_DOWN; + const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_4_WHITE_DOWN; + const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_7_WHITE_DOWN; + const real_t p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const real_t p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const real_t p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const real_t abs_det_jac_affine_WHITE_DOWN = abs(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + { + /* CellType.WHITE_DOWN */ + const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_DOWN [] = {((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012151214443257608)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019083835042434261)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.072053489056043002)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017525267423213611)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.027523941260433657)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.049958575567593019)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.078461393265588306)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.29624114484395714)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.072053489056042974)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.11316209633188964)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.031810029988819218)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.18862506775555832)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012151214443257601)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.045878482755592566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.07205348905604296)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013231853551815916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012151214443257603)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017130957178208683)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.011159409734644826)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.068524255492113287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.044637916950180538)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.000283911881665389)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.50966681808331993)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.33200601647520916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.083000987173061064)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015706073884687172)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021562946853404222)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.071405876738584673)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.080243884747120436)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.26572828761452333)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.095997217930328324)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.016039226535213912)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019188018251946451)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021562946853404225)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025796145274243024)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.044397913749511943)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053114031247306501)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.19765740883375349)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013407157762204741)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018024424659562992)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.059688031245203853)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021562946853404232)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018984670973016902)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.094319450236798913)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.030642694050274453)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.084650020197820364)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058435584226493004)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.29031907828914638)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.26055618198886238)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017384857321768536)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021153258143552994)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.10509340307518385)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034142957672569287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.022395383667253931)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015588264867481133)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.42876947450525699)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.009732450635762396)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.29844418988237825)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.071749615697017544)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015588264867481126)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.1149198753205366)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013982439217157605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058160280082415236)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040482354049473784)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015588264867481138)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018978279386089755)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.056811998632973766)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01396686284573566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015485631440181358)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01139648574059631)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.069625445155635055)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.20842567519062763)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.051240105769272605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.056811998632973738)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013966862845735664)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.041810186095187066)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.023258663351751644)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017116965895609845)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018978279386089748)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01396686284573564)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.094607584046545581)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.28321039153111127)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.077196575526473174)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018978279386089758)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.056811998632973676)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053354679030800815)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.22863973450271471)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.036757553494219546)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040075149727639509)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013574438423676774)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.014799615333023134)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058170268354931248)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.009351816102656051)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.010195875266786407)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012450687019346486)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053354679030800829)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.077445898974953548)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.084435869696849797)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.3318773554937019)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053354679030800836)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.2830869924348563)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020160825588817252)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025383152182066201)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.23919668259056145)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.14278898169094956)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.17977609281010931)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.030040718507945225)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.002139433116273644)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025383152182066195)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019077538505445499)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.023860144794362503)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020160825588817249)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012035048833865587)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01515252809081665)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.039969943152159265)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.033772932211040815)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020160825588817245)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025383152182066191)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.090150328303510344)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.029517331411893867)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.037280633286332542)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.038041411821271319)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012455650259246798)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015731589118882314)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.27533253531028662)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.048046617223388682)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.090150328303510385)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.11386060898348732)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.21799741519439725)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.030119685775736597)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.07137746553252089)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.090150328303510371)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.067458477890573201)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.035870894765649017)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.27308043404340754)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.011024731463671476)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.083929839859876898)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.044629504659074608)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.30460043053460045)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.005862376301973493)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020733009548559916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018587561536304909)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055932196812816262)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053705963564394235)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.036199865373541695)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.022496381554864123)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034759025419540221)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.32887513974352289)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.02111678772433076)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.20437923045390871)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.31578513412249021)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00039530708258920849))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 11; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q]; + const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q]; + const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q]; + const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11); + const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12); + const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13); + const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16; + const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000); + const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31; + const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20; + const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27; + const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41); + const real_t tmp_qloop_43 = -tmp_qloop_42; + const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38; + const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45; + const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47; + const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42); + const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36; + const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46; + const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44; + const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42); + const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0; + const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42); + const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q]; + const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_57; + const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_57; + const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_57; + const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + } + } + const real_t tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const real_t p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const real_t p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const real_t p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const real_t p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const real_t p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const real_t p_affine_const_3_0_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_coords_jac_1_BLUE_UP; + const real_t p_affine_const_3_1_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_coords_jac_2_BLUE_UP; + const real_t p_affine_const_3_2_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_coords_jac_3_BLUE_UP; + const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const real_t abs_det_jac_affine_BLUE_UP = abs(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + { + /* CellType.BLUE_UP */ + const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_UP [] = {((real_t)(abs_det_jac_affine_BLUE_UP*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012151214443257608)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019083835042434261)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.072053489056043002)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017525267423213611)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.027523941260433657)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.049958575567593019)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.078461393265588306)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.29624114484395714)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.072053489056042974)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.11316209633188964)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.031810029988819218)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.18862506775555832)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012151214443257601)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.045878482755592566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.07205348905604296)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013231853551815916)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012151214443257603)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_UP*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_BLUE_UP*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017130957178208683)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.011159409734644826)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_BLUE_UP*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.068524255492113287)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.044637916950180538)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.000283911881665389)), ((real_t)(abs_det_jac_affine_BLUE_UP*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.50966681808331993)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.33200601647520916)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.083000987173061064)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015706073884687172)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021562946853404222)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.071405876738584673)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.080243884747120436)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.26572828761452333)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.095997217930328324)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.016039226535213912)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019188018251946451)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021562946853404225)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025796145274243024)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.044397913749511943)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053114031247306501)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.19765740883375349)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013407157762204741)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018024424659562992)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.059688031245203853)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021562946853404232)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018984670973016902)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.094319450236798913)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.030642694050274453)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.084650020197820364)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058435584226493004)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.29031907828914638)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.26055618198886238)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017384857321768536)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021153258143552994)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.10509340307518385)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034142957672569287)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.022395383667253931)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015588264867481133)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.42876947450525699)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.009732450635762396)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.29844418988237825)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.071749615697017544)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015588264867481126)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.1149198753205366)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013982439217157605)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058160280082415236)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040482354049473784)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015588264867481138)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018978279386089755)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.056811998632973766)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01396686284573566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015485631440181358)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01139648574059631)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.069625445155635055)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.20842567519062763)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.051240105769272605)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.056811998632973738)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013966862845735664)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.041810186095187066)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.023258663351751644)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017116965895609845)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018978279386089748)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01396686284573564)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.094607584046545581)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.28321039153111127)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.077196575526473174)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018978279386089758)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.056811998632973676)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053354679030800815)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.22863973450271471)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.036757553494219546)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040075149727639509)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013574438423676774)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.014799615333023134)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058170268354931248)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.009351816102656051)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.010195875266786407)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012450687019346486)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053354679030800829)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.077445898974953548)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.084435869696849797)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.3318773554937019)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053354679030800836)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.2830869924348563)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020160825588817252)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025383152182066201)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.23919668259056145)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.14278898169094956)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.17977609281010931)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.030040718507945225)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.002139433116273644)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025383152182066195)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019077538505445499)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.023860144794362503)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020160825588817249)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012035048833865587)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01515252809081665)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.039969943152159265)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.033772932211040815)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020160825588817245)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025383152182066191)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.090150328303510344)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.029517331411893867)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.037280633286332542)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.038041411821271319)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012455650259246798)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015731589118882314)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.27533253531028662)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.048046617223388682)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.090150328303510385)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.11386060898348732)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.21799741519439725)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.030119685775736597)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.07137746553252089)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.090150328303510371)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.067458477890573201)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.035870894765649017)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.27308043404340754)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.011024731463671476)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.083929839859876898)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.044629504659074608)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.30460043053460045)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.005862376301973493)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020733009548559916)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018587561536304909)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055932196812816262)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053705963564394235)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.036199865373541695)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.022496381554864123)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034759025419540221)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.32887513974352289)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.02111678772433076)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.20437923045390871)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.31578513412249021)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_BLUE_UP*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_BLUE_UP*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00039530708258920849))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 11; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q]; + const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q]; + const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q]; + const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11); + const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12); + const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13); + const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16; + const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000); + const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31; + const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20; + const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27; + const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41); + const real_t tmp_qloop_43 = -tmp_qloop_42; + const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38; + const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45; + const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47; + const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42); + const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36; + const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46; + const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44; + const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42); + const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0; + const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42); + const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q]; + const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_57; + const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_57; + const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_57; + const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + } + } + const real_t tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const real_t tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const real_t tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const real_t p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const real_t p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const real_t p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const real_t p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const real_t p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const real_t p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const real_t p_affine_const_2_0_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_coords_jac_5_BLUE_DOWN; + const real_t p_affine_const_2_1_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_coords_jac_7_BLUE_DOWN; + const real_t p_affine_const_2_2_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_coords_jac_9_BLUE_DOWN; + const real_t p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const real_t p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const real_t p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const real_t abs_det_jac_affine_BLUE_DOWN = abs(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + { + /* CellType.BLUE_DOWN */ + const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_DOWN [] = {((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012151214443257608)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019083835042434261)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.072053489056043002)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017525267423213611)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.027523941260433657)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.049958575567593019)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.078461393265588306)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.29624114484395714)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.072053489056042974)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.11316209633188964)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.031810029988819218)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.18862506775555832)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012151214443257601)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.045878482755592566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.07205348905604296)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013231853551815916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012151214443257603)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017130957178208683)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.011159409734644826)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.068524255492113287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.044637916950180538)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.000283911881665389)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.50966681808331993)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.33200601647520916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.083000987173061064)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015706073884687172)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021562946853404222)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.071405876738584673)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.080243884747120436)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.26572828761452333)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.095997217930328324)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.016039226535213912)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019188018251946451)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021562946853404225)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025796145274243024)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.044397913749511943)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053114031247306501)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.19765740883375349)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013407157762204741)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018024424659562992)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.059688031245203853)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021562946853404232)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018984670973016902)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.094319450236798913)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.030642694050274453)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.084650020197820364)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058435584226493004)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.29031907828914638)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.26055618198886238)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017384857321768536)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021153258143552994)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.10509340307518385)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034142957672569287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.022395383667253931)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015588264867481133)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.42876947450525699)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.009732450635762396)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.29844418988237825)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.071749615697017544)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015588264867481126)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.1149198753205366)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013982439217157605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058160280082415236)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040482354049473784)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015588264867481138)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018978279386089755)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.056811998632973766)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01396686284573566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015485631440181358)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01139648574059631)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.069625445155635055)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.20842567519062763)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.051240105769272605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.056811998632973738)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013966862845735664)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.041810186095187066)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.023258663351751644)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017116965895609845)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018978279386089748)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01396686284573564)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.094607584046545581)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.28321039153111127)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.077196575526473174)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018978279386089758)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.056811998632973676)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053354679030800815)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.22863973450271471)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.036757553494219546)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040075149727639509)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013574438423676774)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.014799615333023134)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058170268354931248)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.009351816102656051)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.010195875266786407)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012450687019346486)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053354679030800829)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.077445898974953548)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.084435869696849797)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.3318773554937019)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053354679030800836)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.2830869924348563)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020160825588817252)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025383152182066201)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.23919668259056145)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.14278898169094956)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.17977609281010931)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.030040718507945225)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.002139433116273644)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025383152182066195)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019077538505445499)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.023860144794362503)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020160825588817249)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012035048833865587)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01515252809081665)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.039969943152159265)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.033772932211040815)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020160825588817245)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025383152182066191)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.090150328303510344)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.029517331411893867)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.037280633286332542)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.038041411821271319)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012455650259246798)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015731589118882314)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.27533253531028662)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.048046617223388682)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.090150328303510385)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.11386060898348732)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.21799741519439725)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.030119685775736597)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.07137746553252089)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.090150328303510371)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.067458477890573201)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.035870894765649017)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.27308043404340754)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.011024731463671476)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.083929839859876898)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.044629504659074608)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.30460043053460045)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.005862376301973493)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020733009548559916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018587561536304909)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055932196812816262)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053705963564394235)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.036199865373541695)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.022496381554864123)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034759025419540221)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.32887513974352289)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.02111678772433076)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.20437923045390871)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.31578513412249021)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00039530708258920849))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 11; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q]; + const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q]; + const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q]; + const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11); + const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12); + const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13); + const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16; + const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000); + const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31; + const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20; + const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27; + const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41); + const real_t tmp_qloop_43 = -tmp_qloop_42; + const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38; + const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45; + const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47; + const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42); + const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36; + const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46; + const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44; + const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42); + const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0; + const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42); + const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q]; + const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_57; + const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_57; + const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_57; + const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + } + } + const real_t tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const real_t p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const real_t p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t p_affine_const_1_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t p_affine_const_1_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const real_t p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const real_t p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const real_t p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const real_t abs_det_jac_affine_GREEN_UP = abs(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + { + /* CellType.GREEN_UP */ + const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_UP [] = {((real_t)(abs_det_jac_affine_GREEN_UP*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012151214443257608)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019083835042434261)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.072053489056043002)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017525267423213611)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.027523941260433657)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.049958575567593019)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.078461393265588306)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.29624114484395714)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.072053489056042974)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.11316209633188964)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.031810029988819218)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.18862506775555832)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012151214443257601)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.045878482755592566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.07205348905604296)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013231853551815916)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012151214443257603)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_UP*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_GREEN_UP*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017130957178208683)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.011159409734644826)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_GREEN_UP*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.068524255492113287)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.044637916950180538)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.000283911881665389)), ((real_t)(abs_det_jac_affine_GREEN_UP*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.50966681808331993)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.33200601647520916)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.083000987173061064)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015706073884687172)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021562946853404222)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.071405876738584673)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.080243884747120436)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.26572828761452333)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.095997217930328324)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.016039226535213912)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019188018251946451)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021562946853404225)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025796145274243024)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.044397913749511943)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053114031247306501)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.19765740883375349)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013407157762204741)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018024424659562992)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.059688031245203853)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021562946853404232)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018984670973016902)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.094319450236798913)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.030642694050274453)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.084650020197820364)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058435584226493004)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.29031907828914638)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.26055618198886238)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017384857321768536)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021153258143552994)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.10509340307518385)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034142957672569287)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.022395383667253931)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015588264867481133)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.42876947450525699)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.009732450635762396)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.29844418988237825)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.071749615697017544)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015588264867481126)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.1149198753205366)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013982439217157605)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058160280082415236)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040482354049473784)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015588264867481138)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018978279386089755)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.056811998632973766)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01396686284573566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015485631440181358)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01139648574059631)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.069625445155635055)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.20842567519062763)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.051240105769272605)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.056811998632973738)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013966862845735664)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.041810186095187066)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.023258663351751644)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017116965895609845)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018978279386089748)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01396686284573564)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.094607584046545581)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.28321039153111127)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.077196575526473174)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018978279386089758)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.056811998632973676)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053354679030800815)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.22863973450271471)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.036757553494219546)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040075149727639509)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013574438423676774)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.014799615333023134)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058170268354931248)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.009351816102656051)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.010195875266786407)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012450687019346486)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053354679030800829)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.077445898974953548)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.084435869696849797)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.3318773554937019)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053354679030800836)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.2830869924348563)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020160825588817252)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025383152182066201)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.23919668259056145)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.14278898169094956)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.17977609281010931)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.030040718507945225)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.002139433116273644)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025383152182066195)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019077538505445499)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.023860144794362503)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020160825588817249)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012035048833865587)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01515252809081665)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.039969943152159265)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.033772932211040815)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020160825588817245)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025383152182066191)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.090150328303510344)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.029517331411893867)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.037280633286332542)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.038041411821271319)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012455650259246798)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015731589118882314)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.27533253531028662)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.048046617223388682)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.090150328303510385)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.11386060898348732)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.21799741519439725)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.030119685775736597)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.07137746553252089)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.090150328303510371)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.067458477890573201)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.035870894765649017)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.27308043404340754)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.011024731463671476)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.083929839859876898)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.044629504659074608)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.30460043053460045)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.005862376301973493)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020733009548559916)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018587561536304909)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055932196812816262)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053705963564394235)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.036199865373541695)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.022496381554864123)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034759025419540221)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.32887513974352289)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.02111678772433076)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.20437923045390871)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.31578513412249021)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_GREEN_UP*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_GREEN_UP*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00039530708258920849))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 11; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q]; + const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q]; + const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q]; + const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11); + const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12); + const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13); + const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16; + const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000); + const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31; + const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20; + const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27; + const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41); + const real_t tmp_qloop_43 = -tmp_qloop_42; + const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38; + const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45; + const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47; + const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42); + const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36; + const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46; + const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44; + const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42); + const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0; + const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42); + const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q]; + const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_57; + const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_57; + const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_57; + const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + } + } + const real_t tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const real_t p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const real_t p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const real_t p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const real_t p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const real_t p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const real_t p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const real_t p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const real_t p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const real_t abs_det_jac_affine_GREEN_DOWN = abs(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + { + /* CellType.GREEN_DOWN */ + const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_DOWN [] = {((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012151214443257608)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019083835042434261)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.072053489056043002)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017525267423213611)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.027523941260433657)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.049958575567593019)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.078461393265588306)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.29624114484395714)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.072053489056042974)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.11316209633188964)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.031810029988819218)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.18862506775555832)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012151214443257601)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.045878482755592566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.07205348905604296)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013231853551815916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012151214443257603)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017130957178208683)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.011159409734644826)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.068524255492113287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.044637916950180538)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.000283911881665389)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.50966681808331993)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.33200601647520916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.083000987173061064)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015706073884687172)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021562946853404222)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.071405876738584673)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.080243884747120436)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.26572828761452333)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.095997217930328324)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.016039226535213912)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019188018251946451)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021562946853404225)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025796145274243024)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.044397913749511943)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053114031247306501)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.19765740883375349)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013407157762204741)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018024424659562992)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.059688031245203853)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021562946853404232)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018984670973016902)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.094319450236798913)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.030642694050274453)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.084650020197820364)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058435584226493004)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.29031907828914638)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.26055618198886238)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017384857321768536)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021153258143552994)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.10509340307518385)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034142957672569287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.022395383667253931)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015588264867481133)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.42876947450525699)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.009732450635762396)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.29844418988237825)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.071749615697017544)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015588264867481126)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.1149198753205366)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013982439217157605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058160280082415236)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040482354049473784)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015588264867481138)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018978279386089755)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.056811998632973766)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01396686284573566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015485631440181358)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01139648574059631)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.069625445155635055)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.20842567519062763)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.051240105769272605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.056811998632973738)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013966862845735664)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.041810186095187066)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.023258663351751644)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017116965895609845)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018978279386089748)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01396686284573564)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.094607584046545581)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.28321039153111127)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.077196575526473174)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018978279386089758)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.056811998632973676)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053354679030800815)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.22863973450271471)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.036757553494219546)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040075149727639509)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013574438423676774)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.014799615333023134)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058170268354931248)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.009351816102656051)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.010195875266786407)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012450687019346486)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053354679030800829)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.077445898974953548)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.084435869696849797)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.3318773554937019)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053354679030800836)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.2830869924348563)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020160825588817252)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025383152182066201)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.23919668259056145)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.14278898169094956)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.17977609281010931)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.030040718507945225)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.002139433116273644)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025383152182066195)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019077538505445499)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.023860144794362503)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020160825588817249)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012035048833865587)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01515252809081665)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.039969943152159265)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.033772932211040815)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020160825588817245)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025383152182066191)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.090150328303510344)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.029517331411893867)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.037280633286332542)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.038041411821271319)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012455650259246798)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015731589118882314)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.27533253531028662)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.048046617223388682)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.090150328303510385)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.11386060898348732)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.21799741519439725)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.030119685775736597)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.07137746553252089)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.090150328303510371)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.067458477890573201)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.035870894765649017)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.27308043404340754)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.011024731463671476)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.083929839859876898)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.044629504659074608)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.30460043053460045)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.005862376301973493)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020733009548559916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018587561536304909)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055932196812816262)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053705963564394235)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.036199865373541695)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.022496381554864123)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034759025419540221)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.32887513974352289)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.02111678772433076)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.20437923045390871)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.31578513412249021)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00039530708258920849))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 11; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q]; + const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q]; + const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q]; + const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11); + const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12); + const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13); + const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16; + const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000); + const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31; + const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20; + const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27; + const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41); + const real_t tmp_qloop_43 = -tmp_qloop_42; + const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38; + const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45; + const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47; + const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42); + const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36; + const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46; + const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44; + const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42); + const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0; + const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42); + const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q]; + const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_57; + const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_57; + const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_57; + const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/k_mass/noarch/P2ToP1ElementwiseKMassIcosahedralShellMap_toMatrix_macro_3D.cpp b/operators/k_mass/noarch/P2ToP1ElementwiseKMassIcosahedralShellMap_toMatrix_macro_3D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..f55015af1f8e7ee2a354d62daa7950523c26e193 --- /dev/null +++ b/operators/k_mass/noarch/P2ToP1ElementwiseKMassIcosahedralShellMap_toMatrix_macro_3D.cpp @@ -0,0 +1,2174 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + + + + + + + + + + + + + + + + + + + + + + + + + + + +#include "../P2ToP1ElementwiseKMassIcosahedralShellMap.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P2ToP1ElementwiseKMassIcosahedralShellMap::toMatrix_macro_3D( idx_t * RESTRICT _data_dst, real_t * RESTRICT _data_kEdge, real_t * RESTRICT _data_kVertex, idx_t * RESTRICT _data_srcEdge, idx_t * RESTRICT _data_srcVertex, real_t forVertex_0, real_t forVertex_1, real_t forVertex_2, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_0comp2, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_1comp2, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, real_t macro_vertex_coord_id_2comp2, real_t macro_vertex_coord_id_3comp0, real_t macro_vertex_coord_id_3comp1, real_t macro_vertex_coord_id_3comp2, std::shared_ptr< SparseMatrixProxy > mat, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float, real_t radRayVertex, real_t radRefVertex, real_t rayVertex_0, real_t rayVertex_1, real_t rayVertex_2, real_t refVertex_0, real_t refVertex_1, real_t refVertex_2, real_t thrVertex_0, real_t thrVertex_1, real_t thrVertex_2 ) const +{ + { + const real_t _data_q_w [] = {0.02364442875776411, 0.0041220137385117907, 0.025486503738822306, 0.0091363578885896128, 0.0052827872295400091, 0.02526054964096567, 0.01949470769240411, 0.0094909452962763929, 0.019522077110586403, 0.018549261128954084, 0.0066770344442521412}; + + const real_t _data_q_p_0 [] = {0.4881393122183349, 0.028620108024415062, 0.12011493111997025, 0.19015055018870972, 0.81934505243836264, 0.33721826230431567, 0.086557484679865959, 0.079692524193577793, 0.061206893331017434, 0.43957887847117094, 0.085226802665704912}; + + const real_t _data_q_p_1 [] = {0.31081202744417918, 0.1144811451032984, 0.33248812467264544, 0.58529107547132619, 0.026719351714152292, 0.11264913310739497, 0.079391877387070833, 0.063296594113889035, 0.44299746808745322, 0.057741550565775693, 0.77428400209089154}; + + const real_t _data_q_p_2 [] = {0.082320586256909412, 0.85148303380032098, 0.10040383353811888, 0.21187112908079075, 0.11113976289693195, 0.45821473775386756, 0.49383422023194623, 0.10603293862052354, 0.35074787972985066, 0.10858823393329198, 0.0088057690417862045}; + + const real_t tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const real_t p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const real_t p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const real_t p_affine_const_1_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t p_affine_const_1_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t p_affine_const_1_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t p_affine_const_2_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t p_affine_const_2_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t p_affine_const_2_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t p_affine_const_3_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t p_affine_const_3_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t p_affine_const_3_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const real_t abs_det_jac_affine_WHITE_UP = abs(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const real_t tmp_qloop_19 = rayVertex_1 - refVertex_1; + const real_t tmp_qloop_20 = -rayVertex_0; + const real_t tmp_qloop_21 = -forVertex_0 - tmp_qloop_20; + const real_t tmp_qloop_22 = rayVertex_2 - thrVertex_2; + const real_t tmp_qloop_23 = tmp_qloop_21*tmp_qloop_22; + const real_t tmp_qloop_24 = rayVertex_2 - refVertex_2; + const real_t tmp_qloop_25 = rayVertex_1 - thrVertex_1; + const real_t tmp_qloop_26 = tmp_qloop_21*tmp_qloop_25; + const real_t tmp_qloop_27 = -rayVertex_1; + const real_t tmp_qloop_28 = -forVertex_1 - tmp_qloop_27; + const real_t tmp_qloop_29 = rayVertex_0 - thrVertex_0; + const real_t tmp_qloop_30 = rayVertex_0 - refVertex_0; + const real_t tmp_qloop_31 = -rayVertex_2; + const real_t tmp_qloop_32 = -forVertex_2 - tmp_qloop_31; + const real_t tmp_qloop_33 = tmp_qloop_22*tmp_qloop_28; + const real_t tmp_qloop_34 = tmp_qloop_29*tmp_qloop_32; + const real_t tmp_qloop_35 = tmp_qloop_19*tmp_qloop_23 - tmp_qloop_19*tmp_qloop_34 - tmp_qloop_24*tmp_qloop_26 + tmp_qloop_24*tmp_qloop_28*tmp_qloop_29 + tmp_qloop_25*tmp_qloop_30*tmp_qloop_32 - tmp_qloop_30*tmp_qloop_33; + const real_t tmp_qloop_36 = 1.0 / (tmp_qloop_35*tmp_qloop_35*tmp_qloop_35); + const real_t tmp_qloop_37 = radRayVertex - radRefVertex; + const real_t tmp_qloop_38 = tmp_qloop_37*(-tmp_qloop_26 + tmp_qloop_28*tmp_qloop_29); + const real_t tmp_qloop_45 = tmp_qloop_37*(tmp_qloop_25*tmp_qloop_32 - tmp_qloop_33); + const real_t tmp_qloop_47 = -tmp_qloop_23 + tmp_qloop_29*tmp_qloop_32; + { + /* CellType.WHITE_UP */ + const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_UP [] = {((real_t)(abs_det_jac_affine_WHITE_UP*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012151214443257608)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019083835042434261)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.072053489056043002)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017525267423213611)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.027523941260433657)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.049958575567593019)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.078461393265588306)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.29624114484395714)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.072053489056042974)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.11316209633188964)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.031810029988819218)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.18862506775555832)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012151214443257601)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.045878482755592566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.07205348905604296)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013231853551815916)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012151214443257603)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_UP*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_WHITE_UP*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017130957178208683)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.011159409734644826)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_WHITE_UP*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.068524255492113287)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.044637916950180538)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.000283911881665389)), ((real_t)(abs_det_jac_affine_WHITE_UP*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.50966681808331993)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.33200601647520916)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.083000987173061064)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015706073884687172)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021562946853404222)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.071405876738584673)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.080243884747120436)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.26572828761452333)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.095997217930328324)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.016039226535213912)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019188018251946451)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021562946853404225)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025796145274243024)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.044397913749511943)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053114031247306501)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.19765740883375349)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013407157762204741)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018024424659562992)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.059688031245203853)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021562946853404232)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018984670973016902)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.094319450236798913)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.030642694050274453)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.084650020197820364)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058435584226493004)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.29031907828914638)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.26055618198886238)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017384857321768536)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021153258143552994)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.10509340307518385)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034142957672569287)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.022395383667253931)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015588264867481133)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.42876947450525699)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.009732450635762396)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.29844418988237825)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.071749615697017544)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015588264867481126)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.1149198753205366)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013982439217157605)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058160280082415236)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040482354049473784)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015588264867481138)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018978279386089755)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.056811998632973766)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01396686284573566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015485631440181358)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01139648574059631)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.069625445155635055)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.20842567519062763)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.051240105769272605)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.056811998632973738)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013966862845735664)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.041810186095187066)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.023258663351751644)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017116965895609845)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018978279386089748)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01396686284573564)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.094607584046545581)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.28321039153111127)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.077196575526473174)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018978279386089758)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.056811998632973676)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053354679030800815)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.22863973450271471)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.036757553494219546)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040075149727639509)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013574438423676774)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.014799615333023134)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058170268354931248)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.009351816102656051)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.010195875266786407)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012450687019346486)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053354679030800829)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.077445898974953548)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.084435869696849797)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.3318773554937019)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053354679030800836)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.2830869924348563)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020160825588817252)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025383152182066201)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.23919668259056145)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.14278898169094956)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.17977609281010931)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.030040718507945225)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.002139433116273644)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025383152182066195)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019077538505445499)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.023860144794362503)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020160825588817249)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012035048833865587)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01515252809081665)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.039969943152159265)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.033772932211040815)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020160825588817245)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025383152182066191)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.090150328303510344)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.029517331411893867)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.037280633286332542)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.038041411821271319)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012455650259246798)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015731589118882314)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.27533253531028662)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.048046617223388682)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.090150328303510385)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.11386060898348732)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.21799741519439725)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.030119685775736597)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.07137746553252089)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.090150328303510371)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.067458477890573201)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.035870894765649017)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.27308043404340754)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.011024731463671476)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.083929839859876898)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.044629504659074608)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.30460043053460045)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.005862376301973493)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020733009548559916)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018587561536304909)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055932196812816262)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053705963564394235)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.036199865373541695)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.022496381554864123)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034759025419540221)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.32887513974352289)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.02111678772433076)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.20437923045390871)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.31578513412249021)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_WHITE_UP*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_WHITE_UP*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00039530708258920849))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 11; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q]; + const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q]; + const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q]; + const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11); + const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12); + const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13); + const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16; + const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000); + const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31; + const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20; + const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27; + const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41); + const real_t tmp_qloop_43 = -tmp_qloop_42; + const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38; + const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45; + const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47; + const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42); + const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36; + const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46; + const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44; + const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42); + const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0; + const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42); + const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q]; + const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_57; + const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_57; + const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_57; + const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMat_0_0 = q_acc_0_0; + const real_t elMat_0_1 = q_acc_0_1; + const real_t elMat_0_2 = q_acc_0_2; + const real_t elMat_0_3 = q_acc_0_3; + const real_t elMat_0_4 = q_acc_0_4; + const real_t elMat_0_5 = q_acc_0_5; + const real_t elMat_0_6 = q_acc_0_6; + const real_t elMat_0_7 = q_acc_0_7; + const real_t elMat_0_8 = q_acc_0_8; + const real_t elMat_0_9 = q_acc_0_9; + const real_t elMat_1_0 = q_acc_1_0; + const real_t elMat_1_1 = q_acc_1_1; + const real_t elMat_1_2 = q_acc_1_2; + const real_t elMat_1_3 = q_acc_1_3; + const real_t elMat_1_4 = q_acc_1_4; + const real_t elMat_1_5 = q_acc_1_5; + const real_t elMat_1_6 = q_acc_1_6; + const real_t elMat_1_7 = q_acc_1_7; + const real_t elMat_1_8 = q_acc_1_8; + const real_t elMat_1_9 = q_acc_1_9; + const real_t elMat_2_0 = q_acc_2_0; + const real_t elMat_2_1 = q_acc_2_1; + const real_t elMat_2_2 = q_acc_2_2; + const real_t elMat_2_3 = q_acc_2_3; + const real_t elMat_2_4 = q_acc_2_4; + const real_t elMat_2_5 = q_acc_2_5; + const real_t elMat_2_6 = q_acc_2_6; + const real_t elMat_2_7 = q_acc_2_7; + const real_t elMat_2_8 = q_acc_2_8; + const real_t elMat_2_9 = q_acc_2_9; + const real_t elMat_3_0 = q_acc_3_0; + const real_t elMat_3_1 = q_acc_3_1; + const real_t elMat_3_2 = q_acc_3_2; + const real_t elMat_3_3 = q_acc_3_3; + const real_t elMat_3_4 = q_acc_3_4; + const real_t elMat_3_5 = q_acc_3_5; + const real_t elMat_3_6 = q_acc_3_6; + const real_t elMat_3_7 = q_acc_3_7; + const real_t elMat_3_8 = q_acc_3_8; + const real_t elMat_3_9 = q_acc_3_9; + + std::vector< uint_t > _data_rowIdx( 4 ); + std::vector< uint_t > _data_colIdx( 10 ); + std::vector< real_t > _data_mat( 40 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_0_4)); + _data_mat[5] = ((real_t)(elMat_0_5)); + _data_mat[6] = ((real_t)(elMat_0_6)); + _data_mat[7] = ((real_t)(elMat_0_7)); + _data_mat[8] = ((real_t)(elMat_0_8)); + _data_mat[9] = ((real_t)(elMat_0_9)); + _data_mat[10] = ((real_t)(elMat_1_0)); + _data_mat[11] = ((real_t)(elMat_1_1)); + _data_mat[12] = ((real_t)(elMat_1_2)); + _data_mat[13] = ((real_t)(elMat_1_3)); + _data_mat[14] = ((real_t)(elMat_1_4)); + _data_mat[15] = ((real_t)(elMat_1_5)); + _data_mat[16] = ((real_t)(elMat_1_6)); + _data_mat[17] = ((real_t)(elMat_1_7)); + _data_mat[18] = ((real_t)(elMat_1_8)); + _data_mat[19] = ((real_t)(elMat_1_9)); + _data_mat[20] = ((real_t)(elMat_2_0)); + _data_mat[21] = ((real_t)(elMat_2_1)); + _data_mat[22] = ((real_t)(elMat_2_2)); + _data_mat[23] = ((real_t)(elMat_2_3)); + _data_mat[24] = ((real_t)(elMat_2_4)); + _data_mat[25] = ((real_t)(elMat_2_5)); + _data_mat[26] = ((real_t)(elMat_2_6)); + _data_mat[27] = ((real_t)(elMat_2_7)); + _data_mat[28] = ((real_t)(elMat_2_8)); + _data_mat[29] = ((real_t)(elMat_2_9)); + _data_mat[30] = ((real_t)(elMat_3_0)); + _data_mat[31] = ((real_t)(elMat_3_1)); + _data_mat[32] = ((real_t)(elMat_3_2)); + _data_mat[33] = ((real_t)(elMat_3_3)); + _data_mat[34] = ((real_t)(elMat_3_4)); + _data_mat[35] = ((real_t)(elMat_3_5)); + _data_mat[36] = ((real_t)(elMat_3_6)); + _data_mat[37] = ((real_t)(elMat_3_7)); + _data_mat[38] = ((real_t)(elMat_3_8)); + _data_mat[39] = ((real_t)(elMat_3_9)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + const real_t tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const real_t tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const real_t tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t tmp_coords_jac_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const real_t tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const real_t p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const real_t p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const real_t p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const real_t p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const real_t p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_1_WHITE_DOWN; + const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_4_WHITE_DOWN; + const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_7_WHITE_DOWN; + const real_t p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const real_t p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const real_t p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const real_t abs_det_jac_affine_WHITE_DOWN = abs(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + { + /* CellType.WHITE_DOWN */ + const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_DOWN [] = {((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012151214443257608)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019083835042434261)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.072053489056043002)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017525267423213611)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.027523941260433657)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.049958575567593019)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.078461393265588306)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.29624114484395714)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.072053489056042974)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.11316209633188964)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.031810029988819218)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.18862506775555832)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012151214443257601)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.045878482755592566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.07205348905604296)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013231853551815916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012151214443257603)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017130957178208683)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.011159409734644826)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.068524255492113287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.044637916950180538)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.000283911881665389)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.50966681808331993)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.33200601647520916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.083000987173061064)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015706073884687172)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021562946853404222)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.071405876738584673)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.080243884747120436)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.26572828761452333)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.095997217930328324)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.016039226535213912)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019188018251946451)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021562946853404225)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025796145274243024)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.044397913749511943)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053114031247306501)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.19765740883375349)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013407157762204741)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018024424659562992)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.059688031245203853)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021562946853404232)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018984670973016902)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.094319450236798913)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.030642694050274453)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.084650020197820364)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058435584226493004)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.29031907828914638)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.26055618198886238)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017384857321768536)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021153258143552994)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.10509340307518385)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034142957672569287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.022395383667253931)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015588264867481133)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.42876947450525699)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.009732450635762396)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.29844418988237825)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.071749615697017544)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015588264867481126)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.1149198753205366)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013982439217157605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058160280082415236)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040482354049473784)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015588264867481138)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018978279386089755)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.056811998632973766)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01396686284573566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015485631440181358)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01139648574059631)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.069625445155635055)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.20842567519062763)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.051240105769272605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.056811998632973738)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013966862845735664)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.041810186095187066)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.023258663351751644)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017116965895609845)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018978279386089748)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01396686284573564)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.094607584046545581)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.28321039153111127)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.077196575526473174)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018978279386089758)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.056811998632973676)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053354679030800815)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.22863973450271471)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.036757553494219546)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040075149727639509)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013574438423676774)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.014799615333023134)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058170268354931248)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.009351816102656051)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.010195875266786407)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012450687019346486)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053354679030800829)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.077445898974953548)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.084435869696849797)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.3318773554937019)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053354679030800836)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.2830869924348563)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020160825588817252)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025383152182066201)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.23919668259056145)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.14278898169094956)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.17977609281010931)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.030040718507945225)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.002139433116273644)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025383152182066195)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019077538505445499)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.023860144794362503)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020160825588817249)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012035048833865587)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01515252809081665)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.039969943152159265)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.033772932211040815)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020160825588817245)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025383152182066191)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.090150328303510344)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.029517331411893867)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.037280633286332542)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.038041411821271319)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012455650259246798)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015731589118882314)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.27533253531028662)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.048046617223388682)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.090150328303510385)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.11386060898348732)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.21799741519439725)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.030119685775736597)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.07137746553252089)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.090150328303510371)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.067458477890573201)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.035870894765649017)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.27308043404340754)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.011024731463671476)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.083929839859876898)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.044629504659074608)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.30460043053460045)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.005862376301973493)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020733009548559916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018587561536304909)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055932196812816262)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053705963564394235)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.036199865373541695)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.022496381554864123)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034759025419540221)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.32887513974352289)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.02111678772433076)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.20437923045390871)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.31578513412249021)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00039530708258920849))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 11; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q]; + const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q]; + const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q]; + const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11); + const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12); + const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13); + const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16; + const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000); + const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31; + const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20; + const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27; + const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41); + const real_t tmp_qloop_43 = -tmp_qloop_42; + const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38; + const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45; + const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47; + const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42); + const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36; + const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46; + const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44; + const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42); + const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0; + const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42); + const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q]; + const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_57; + const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_57; + const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_57; + const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMat_0_0 = q_acc_0_0; + const real_t elMat_0_1 = q_acc_0_1; + const real_t elMat_0_2 = q_acc_0_2; + const real_t elMat_0_3 = q_acc_0_3; + const real_t elMat_0_4 = q_acc_0_4; + const real_t elMat_0_5 = q_acc_0_5; + const real_t elMat_0_6 = q_acc_0_6; + const real_t elMat_0_7 = q_acc_0_7; + const real_t elMat_0_8 = q_acc_0_8; + const real_t elMat_0_9 = q_acc_0_9; + const real_t elMat_1_0 = q_acc_1_0; + const real_t elMat_1_1 = q_acc_1_1; + const real_t elMat_1_2 = q_acc_1_2; + const real_t elMat_1_3 = q_acc_1_3; + const real_t elMat_1_4 = q_acc_1_4; + const real_t elMat_1_5 = q_acc_1_5; + const real_t elMat_1_6 = q_acc_1_6; + const real_t elMat_1_7 = q_acc_1_7; + const real_t elMat_1_8 = q_acc_1_8; + const real_t elMat_1_9 = q_acc_1_9; + const real_t elMat_2_0 = q_acc_2_0; + const real_t elMat_2_1 = q_acc_2_1; + const real_t elMat_2_2 = q_acc_2_2; + const real_t elMat_2_3 = q_acc_2_3; + const real_t elMat_2_4 = q_acc_2_4; + const real_t elMat_2_5 = q_acc_2_5; + const real_t elMat_2_6 = q_acc_2_6; + const real_t elMat_2_7 = q_acc_2_7; + const real_t elMat_2_8 = q_acc_2_8; + const real_t elMat_2_9 = q_acc_2_9; + const real_t elMat_3_0 = q_acc_3_0; + const real_t elMat_3_1 = q_acc_3_1; + const real_t elMat_3_2 = q_acc_3_2; + const real_t elMat_3_3 = q_acc_3_3; + const real_t elMat_3_4 = q_acc_3_4; + const real_t elMat_3_5 = q_acc_3_5; + const real_t elMat_3_6 = q_acc_3_6; + const real_t elMat_3_7 = q_acc_3_7; + const real_t elMat_3_8 = q_acc_3_8; + const real_t elMat_3_9 = q_acc_3_9; + + std::vector< uint_t > _data_rowIdx( 4 ); + std::vector< uint_t > _data_colIdx( 10 ); + std::vector< real_t > _data_mat( 40 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1])); + _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_0_4)); + _data_mat[5] = ((real_t)(elMat_0_5)); + _data_mat[6] = ((real_t)(elMat_0_6)); + _data_mat[7] = ((real_t)(elMat_0_7)); + _data_mat[8] = ((real_t)(elMat_0_8)); + _data_mat[9] = ((real_t)(elMat_0_9)); + _data_mat[10] = ((real_t)(elMat_1_0)); + _data_mat[11] = ((real_t)(elMat_1_1)); + _data_mat[12] = ((real_t)(elMat_1_2)); + _data_mat[13] = ((real_t)(elMat_1_3)); + _data_mat[14] = ((real_t)(elMat_1_4)); + _data_mat[15] = ((real_t)(elMat_1_5)); + _data_mat[16] = ((real_t)(elMat_1_6)); + _data_mat[17] = ((real_t)(elMat_1_7)); + _data_mat[18] = ((real_t)(elMat_1_8)); + _data_mat[19] = ((real_t)(elMat_1_9)); + _data_mat[20] = ((real_t)(elMat_2_0)); + _data_mat[21] = ((real_t)(elMat_2_1)); + _data_mat[22] = ((real_t)(elMat_2_2)); + _data_mat[23] = ((real_t)(elMat_2_3)); + _data_mat[24] = ((real_t)(elMat_2_4)); + _data_mat[25] = ((real_t)(elMat_2_5)); + _data_mat[26] = ((real_t)(elMat_2_6)); + _data_mat[27] = ((real_t)(elMat_2_7)); + _data_mat[28] = ((real_t)(elMat_2_8)); + _data_mat[29] = ((real_t)(elMat_2_9)); + _data_mat[30] = ((real_t)(elMat_3_0)); + _data_mat[31] = ((real_t)(elMat_3_1)); + _data_mat[32] = ((real_t)(elMat_3_2)); + _data_mat[33] = ((real_t)(elMat_3_3)); + _data_mat[34] = ((real_t)(elMat_3_4)); + _data_mat[35] = ((real_t)(elMat_3_5)); + _data_mat[36] = ((real_t)(elMat_3_6)); + _data_mat[37] = ((real_t)(elMat_3_7)); + _data_mat[38] = ((real_t)(elMat_3_8)); + _data_mat[39] = ((real_t)(elMat_3_9)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + const real_t tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const real_t p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const real_t p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const real_t p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const real_t p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const real_t p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const real_t p_affine_const_3_0_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_coords_jac_1_BLUE_UP; + const real_t p_affine_const_3_1_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_coords_jac_2_BLUE_UP; + const real_t p_affine_const_3_2_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_coords_jac_3_BLUE_UP; + const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const real_t abs_det_jac_affine_BLUE_UP = abs(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + { + /* CellType.BLUE_UP */ + const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_UP [] = {((real_t)(abs_det_jac_affine_BLUE_UP*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012151214443257608)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019083835042434261)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.072053489056043002)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017525267423213611)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.027523941260433657)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.049958575567593019)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.078461393265588306)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.29624114484395714)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.072053489056042974)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.11316209633188964)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.031810029988819218)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.18862506775555832)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012151214443257601)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.045878482755592566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.07205348905604296)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013231853551815916)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012151214443257603)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_UP*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_BLUE_UP*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017130957178208683)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.011159409734644826)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_BLUE_UP*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.068524255492113287)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.044637916950180538)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.000283911881665389)), ((real_t)(abs_det_jac_affine_BLUE_UP*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.50966681808331993)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.33200601647520916)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.083000987173061064)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015706073884687172)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021562946853404222)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.071405876738584673)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.080243884747120436)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.26572828761452333)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.095997217930328324)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.016039226535213912)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019188018251946451)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021562946853404225)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025796145274243024)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.044397913749511943)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053114031247306501)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.19765740883375349)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013407157762204741)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018024424659562992)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.059688031245203853)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021562946853404232)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018984670973016902)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.094319450236798913)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.030642694050274453)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.084650020197820364)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058435584226493004)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.29031907828914638)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.26055618198886238)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017384857321768536)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021153258143552994)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.10509340307518385)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034142957672569287)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.022395383667253931)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015588264867481133)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.42876947450525699)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.009732450635762396)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.29844418988237825)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.071749615697017544)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015588264867481126)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.1149198753205366)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013982439217157605)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058160280082415236)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040482354049473784)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015588264867481138)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018978279386089755)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.056811998632973766)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01396686284573566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015485631440181358)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01139648574059631)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.069625445155635055)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.20842567519062763)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.051240105769272605)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.056811998632973738)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013966862845735664)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.041810186095187066)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.023258663351751644)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017116965895609845)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018978279386089748)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01396686284573564)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.094607584046545581)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.28321039153111127)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.077196575526473174)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018978279386089758)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.056811998632973676)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053354679030800815)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.22863973450271471)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.036757553494219546)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040075149727639509)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013574438423676774)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.014799615333023134)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058170268354931248)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.009351816102656051)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.010195875266786407)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012450687019346486)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053354679030800829)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.077445898974953548)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.084435869696849797)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.3318773554937019)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053354679030800836)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.2830869924348563)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020160825588817252)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025383152182066201)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.23919668259056145)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.14278898169094956)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.17977609281010931)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.030040718507945225)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.002139433116273644)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025383152182066195)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019077538505445499)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.023860144794362503)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020160825588817249)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012035048833865587)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01515252809081665)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.039969943152159265)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.033772932211040815)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020160825588817245)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025383152182066191)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.090150328303510344)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.029517331411893867)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.037280633286332542)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.038041411821271319)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012455650259246798)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015731589118882314)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.27533253531028662)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.048046617223388682)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.090150328303510385)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.11386060898348732)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.21799741519439725)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.030119685775736597)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.07137746553252089)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.090150328303510371)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.067458477890573201)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.035870894765649017)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.27308043404340754)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.011024731463671476)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.083929839859876898)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.044629504659074608)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.30460043053460045)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.005862376301973493)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020733009548559916)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018587561536304909)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055932196812816262)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053705963564394235)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.036199865373541695)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.022496381554864123)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034759025419540221)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.32887513974352289)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.02111678772433076)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.20437923045390871)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.31578513412249021)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_BLUE_UP*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_BLUE_UP*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00039530708258920849))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 11; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q]; + const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q]; + const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q]; + const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11); + const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12); + const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13); + const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16; + const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000); + const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31; + const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20; + const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27; + const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41); + const real_t tmp_qloop_43 = -tmp_qloop_42; + const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38; + const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45; + const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47; + const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42); + const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36; + const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46; + const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44; + const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42); + const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0; + const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42); + const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q]; + const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_57; + const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_57; + const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_57; + const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMat_0_0 = q_acc_0_0; + const real_t elMat_0_1 = q_acc_0_1; + const real_t elMat_0_2 = q_acc_0_2; + const real_t elMat_0_3 = q_acc_0_3; + const real_t elMat_0_4 = q_acc_0_4; + const real_t elMat_0_5 = q_acc_0_5; + const real_t elMat_0_6 = q_acc_0_6; + const real_t elMat_0_7 = q_acc_0_7; + const real_t elMat_0_8 = q_acc_0_8; + const real_t elMat_0_9 = q_acc_0_9; + const real_t elMat_1_0 = q_acc_1_0; + const real_t elMat_1_1 = q_acc_1_1; + const real_t elMat_1_2 = q_acc_1_2; + const real_t elMat_1_3 = q_acc_1_3; + const real_t elMat_1_4 = q_acc_1_4; + const real_t elMat_1_5 = q_acc_1_5; + const real_t elMat_1_6 = q_acc_1_6; + const real_t elMat_1_7 = q_acc_1_7; + const real_t elMat_1_8 = q_acc_1_8; + const real_t elMat_1_9 = q_acc_1_9; + const real_t elMat_2_0 = q_acc_2_0; + const real_t elMat_2_1 = q_acc_2_1; + const real_t elMat_2_2 = q_acc_2_2; + const real_t elMat_2_3 = q_acc_2_3; + const real_t elMat_2_4 = q_acc_2_4; + const real_t elMat_2_5 = q_acc_2_5; + const real_t elMat_2_6 = q_acc_2_6; + const real_t elMat_2_7 = q_acc_2_7; + const real_t elMat_2_8 = q_acc_2_8; + const real_t elMat_2_9 = q_acc_2_9; + const real_t elMat_3_0 = q_acc_3_0; + const real_t elMat_3_1 = q_acc_3_1; + const real_t elMat_3_2 = q_acc_3_2; + const real_t elMat_3_3 = q_acc_3_3; + const real_t elMat_3_4 = q_acc_3_4; + const real_t elMat_3_5 = q_acc_3_5; + const real_t elMat_3_6 = q_acc_3_6; + const real_t elMat_3_7 = q_acc_3_7; + const real_t elMat_3_8 = q_acc_3_8; + const real_t elMat_3_9 = q_acc_3_9; + + std::vector< uint_t > _data_rowIdx( 4 ); + std::vector< uint_t > _data_colIdx( 10 ); + std::vector< real_t > _data_mat( 40 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_0_4)); + _data_mat[5] = ((real_t)(elMat_0_5)); + _data_mat[6] = ((real_t)(elMat_0_6)); + _data_mat[7] = ((real_t)(elMat_0_7)); + _data_mat[8] = ((real_t)(elMat_0_8)); + _data_mat[9] = ((real_t)(elMat_0_9)); + _data_mat[10] = ((real_t)(elMat_1_0)); + _data_mat[11] = ((real_t)(elMat_1_1)); + _data_mat[12] = ((real_t)(elMat_1_2)); + _data_mat[13] = ((real_t)(elMat_1_3)); + _data_mat[14] = ((real_t)(elMat_1_4)); + _data_mat[15] = ((real_t)(elMat_1_5)); + _data_mat[16] = ((real_t)(elMat_1_6)); + _data_mat[17] = ((real_t)(elMat_1_7)); + _data_mat[18] = ((real_t)(elMat_1_8)); + _data_mat[19] = ((real_t)(elMat_1_9)); + _data_mat[20] = ((real_t)(elMat_2_0)); + _data_mat[21] = ((real_t)(elMat_2_1)); + _data_mat[22] = ((real_t)(elMat_2_2)); + _data_mat[23] = ((real_t)(elMat_2_3)); + _data_mat[24] = ((real_t)(elMat_2_4)); + _data_mat[25] = ((real_t)(elMat_2_5)); + _data_mat[26] = ((real_t)(elMat_2_6)); + _data_mat[27] = ((real_t)(elMat_2_7)); + _data_mat[28] = ((real_t)(elMat_2_8)); + _data_mat[29] = ((real_t)(elMat_2_9)); + _data_mat[30] = ((real_t)(elMat_3_0)); + _data_mat[31] = ((real_t)(elMat_3_1)); + _data_mat[32] = ((real_t)(elMat_3_2)); + _data_mat[33] = ((real_t)(elMat_3_3)); + _data_mat[34] = ((real_t)(elMat_3_4)); + _data_mat[35] = ((real_t)(elMat_3_5)); + _data_mat[36] = ((real_t)(elMat_3_6)); + _data_mat[37] = ((real_t)(elMat_3_7)); + _data_mat[38] = ((real_t)(elMat_3_8)); + _data_mat[39] = ((real_t)(elMat_3_9)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + const real_t tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const real_t tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const real_t tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const real_t p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const real_t p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const real_t p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const real_t p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const real_t p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const real_t p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const real_t p_affine_const_2_0_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_coords_jac_5_BLUE_DOWN; + const real_t p_affine_const_2_1_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_coords_jac_7_BLUE_DOWN; + const real_t p_affine_const_2_2_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_coords_jac_9_BLUE_DOWN; + const real_t p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const real_t p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const real_t p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const real_t abs_det_jac_affine_BLUE_DOWN = abs(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + { + /* CellType.BLUE_DOWN */ + const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_DOWN [] = {((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012151214443257608)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019083835042434261)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.072053489056043002)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017525267423213611)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.027523941260433657)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.049958575567593019)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.078461393265588306)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.29624114484395714)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.072053489056042974)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.11316209633188964)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.031810029988819218)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.18862506775555832)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012151214443257601)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.045878482755592566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.07205348905604296)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013231853551815916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012151214443257603)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017130957178208683)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.011159409734644826)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.068524255492113287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.044637916950180538)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.000283911881665389)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.50966681808331993)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.33200601647520916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.083000987173061064)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015706073884687172)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021562946853404222)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.071405876738584673)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.080243884747120436)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.26572828761452333)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.095997217930328324)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.016039226535213912)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019188018251946451)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021562946853404225)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025796145274243024)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.044397913749511943)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053114031247306501)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.19765740883375349)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013407157762204741)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018024424659562992)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.059688031245203853)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021562946853404232)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018984670973016902)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.094319450236798913)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.030642694050274453)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.084650020197820364)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058435584226493004)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.29031907828914638)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.26055618198886238)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017384857321768536)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021153258143552994)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.10509340307518385)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034142957672569287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.022395383667253931)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015588264867481133)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.42876947450525699)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.009732450635762396)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.29844418988237825)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.071749615697017544)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015588264867481126)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.1149198753205366)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013982439217157605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058160280082415236)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040482354049473784)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015588264867481138)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018978279386089755)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.056811998632973766)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01396686284573566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015485631440181358)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01139648574059631)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.069625445155635055)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.20842567519062763)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.051240105769272605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.056811998632973738)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013966862845735664)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.041810186095187066)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.023258663351751644)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017116965895609845)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018978279386089748)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01396686284573564)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.094607584046545581)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.28321039153111127)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.077196575526473174)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018978279386089758)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.056811998632973676)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053354679030800815)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.22863973450271471)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.036757553494219546)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040075149727639509)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013574438423676774)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.014799615333023134)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058170268354931248)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.009351816102656051)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.010195875266786407)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012450687019346486)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053354679030800829)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.077445898974953548)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.084435869696849797)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.3318773554937019)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053354679030800836)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.2830869924348563)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020160825588817252)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025383152182066201)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.23919668259056145)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.14278898169094956)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.17977609281010931)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.030040718507945225)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.002139433116273644)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025383152182066195)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019077538505445499)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.023860144794362503)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020160825588817249)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012035048833865587)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01515252809081665)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.039969943152159265)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.033772932211040815)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020160825588817245)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025383152182066191)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.090150328303510344)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.029517331411893867)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.037280633286332542)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.038041411821271319)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012455650259246798)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015731589118882314)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.27533253531028662)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.048046617223388682)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.090150328303510385)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.11386060898348732)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.21799741519439725)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.030119685775736597)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.07137746553252089)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.090150328303510371)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.067458477890573201)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.035870894765649017)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.27308043404340754)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.011024731463671476)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.083929839859876898)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.044629504659074608)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.30460043053460045)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.005862376301973493)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020733009548559916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018587561536304909)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055932196812816262)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053705963564394235)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.036199865373541695)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.022496381554864123)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034759025419540221)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.32887513974352289)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.02111678772433076)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.20437923045390871)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.31578513412249021)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00039530708258920849))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 11; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q]; + const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q]; + const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q]; + const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11); + const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12); + const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13); + const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16; + const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000); + const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31; + const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20; + const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27; + const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41); + const real_t tmp_qloop_43 = -tmp_qloop_42; + const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38; + const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45; + const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47; + const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42); + const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36; + const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46; + const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44; + const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42); + const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0; + const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42); + const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q]; + const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_57; + const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_57; + const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_57; + const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMat_0_0 = q_acc_0_0; + const real_t elMat_0_1 = q_acc_0_1; + const real_t elMat_0_2 = q_acc_0_2; + const real_t elMat_0_3 = q_acc_0_3; + const real_t elMat_0_4 = q_acc_0_4; + const real_t elMat_0_5 = q_acc_0_5; + const real_t elMat_0_6 = q_acc_0_6; + const real_t elMat_0_7 = q_acc_0_7; + const real_t elMat_0_8 = q_acc_0_8; + const real_t elMat_0_9 = q_acc_0_9; + const real_t elMat_1_0 = q_acc_1_0; + const real_t elMat_1_1 = q_acc_1_1; + const real_t elMat_1_2 = q_acc_1_2; + const real_t elMat_1_3 = q_acc_1_3; + const real_t elMat_1_4 = q_acc_1_4; + const real_t elMat_1_5 = q_acc_1_5; + const real_t elMat_1_6 = q_acc_1_6; + const real_t elMat_1_7 = q_acc_1_7; + const real_t elMat_1_8 = q_acc_1_8; + const real_t elMat_1_9 = q_acc_1_9; + const real_t elMat_2_0 = q_acc_2_0; + const real_t elMat_2_1 = q_acc_2_1; + const real_t elMat_2_2 = q_acc_2_2; + const real_t elMat_2_3 = q_acc_2_3; + const real_t elMat_2_4 = q_acc_2_4; + const real_t elMat_2_5 = q_acc_2_5; + const real_t elMat_2_6 = q_acc_2_6; + const real_t elMat_2_7 = q_acc_2_7; + const real_t elMat_2_8 = q_acc_2_8; + const real_t elMat_2_9 = q_acc_2_9; + const real_t elMat_3_0 = q_acc_3_0; + const real_t elMat_3_1 = q_acc_3_1; + const real_t elMat_3_2 = q_acc_3_2; + const real_t elMat_3_3 = q_acc_3_3; + const real_t elMat_3_4 = q_acc_3_4; + const real_t elMat_3_5 = q_acc_3_5; + const real_t elMat_3_6 = q_acc_3_6; + const real_t elMat_3_7 = q_acc_3_7; + const real_t elMat_3_8 = q_acc_3_8; + const real_t elMat_3_9 = q_acc_3_9; + + std::vector< uint_t > _data_rowIdx( 4 ); + std::vector< uint_t > _data_colIdx( 10 ); + std::vector< real_t > _data_mat( 40 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_0_4)); + _data_mat[5] = ((real_t)(elMat_0_5)); + _data_mat[6] = ((real_t)(elMat_0_6)); + _data_mat[7] = ((real_t)(elMat_0_7)); + _data_mat[8] = ((real_t)(elMat_0_8)); + _data_mat[9] = ((real_t)(elMat_0_9)); + _data_mat[10] = ((real_t)(elMat_1_0)); + _data_mat[11] = ((real_t)(elMat_1_1)); + _data_mat[12] = ((real_t)(elMat_1_2)); + _data_mat[13] = ((real_t)(elMat_1_3)); + _data_mat[14] = ((real_t)(elMat_1_4)); + _data_mat[15] = ((real_t)(elMat_1_5)); + _data_mat[16] = ((real_t)(elMat_1_6)); + _data_mat[17] = ((real_t)(elMat_1_7)); + _data_mat[18] = ((real_t)(elMat_1_8)); + _data_mat[19] = ((real_t)(elMat_1_9)); + _data_mat[20] = ((real_t)(elMat_2_0)); + _data_mat[21] = ((real_t)(elMat_2_1)); + _data_mat[22] = ((real_t)(elMat_2_2)); + _data_mat[23] = ((real_t)(elMat_2_3)); + _data_mat[24] = ((real_t)(elMat_2_4)); + _data_mat[25] = ((real_t)(elMat_2_5)); + _data_mat[26] = ((real_t)(elMat_2_6)); + _data_mat[27] = ((real_t)(elMat_2_7)); + _data_mat[28] = ((real_t)(elMat_2_8)); + _data_mat[29] = ((real_t)(elMat_2_9)); + _data_mat[30] = ((real_t)(elMat_3_0)); + _data_mat[31] = ((real_t)(elMat_3_1)); + _data_mat[32] = ((real_t)(elMat_3_2)); + _data_mat[33] = ((real_t)(elMat_3_3)); + _data_mat[34] = ((real_t)(elMat_3_4)); + _data_mat[35] = ((real_t)(elMat_3_5)); + _data_mat[36] = ((real_t)(elMat_3_6)); + _data_mat[37] = ((real_t)(elMat_3_7)); + _data_mat[38] = ((real_t)(elMat_3_8)); + _data_mat[39] = ((real_t)(elMat_3_9)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + const real_t tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const real_t p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const real_t p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t p_affine_const_1_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t p_affine_const_1_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const real_t p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const real_t p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const real_t p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const real_t abs_det_jac_affine_GREEN_UP = abs(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + { + /* CellType.GREEN_UP */ + const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_UP [] = {((real_t)(abs_det_jac_affine_GREEN_UP*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012151214443257608)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019083835042434261)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.072053489056043002)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017525267423213611)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.027523941260433657)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.049958575567593019)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.078461393265588306)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.29624114484395714)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.072053489056042974)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.11316209633188964)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.031810029988819218)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.18862506775555832)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012151214443257601)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.045878482755592566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.07205348905604296)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013231853551815916)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012151214443257603)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_UP*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_GREEN_UP*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017130957178208683)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.011159409734644826)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_GREEN_UP*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.068524255492113287)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.044637916950180538)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.000283911881665389)), ((real_t)(abs_det_jac_affine_GREEN_UP*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.50966681808331993)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.33200601647520916)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.083000987173061064)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015706073884687172)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021562946853404222)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.071405876738584673)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.080243884747120436)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.26572828761452333)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.095997217930328324)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.016039226535213912)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019188018251946451)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021562946853404225)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025796145274243024)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.044397913749511943)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053114031247306501)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.19765740883375349)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013407157762204741)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018024424659562992)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.059688031245203853)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021562946853404232)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018984670973016902)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.094319450236798913)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.030642694050274453)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.084650020197820364)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058435584226493004)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.29031907828914638)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.26055618198886238)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017384857321768536)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021153258143552994)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.10509340307518385)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034142957672569287)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.022395383667253931)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015588264867481133)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.42876947450525699)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.009732450635762396)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.29844418988237825)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.071749615697017544)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015588264867481126)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.1149198753205366)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013982439217157605)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058160280082415236)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040482354049473784)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015588264867481138)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018978279386089755)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.056811998632973766)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01396686284573566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015485631440181358)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01139648574059631)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.069625445155635055)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.20842567519062763)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.051240105769272605)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.056811998632973738)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013966862845735664)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.041810186095187066)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.023258663351751644)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017116965895609845)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018978279386089748)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01396686284573564)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.094607584046545581)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.28321039153111127)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.077196575526473174)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018978279386089758)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.056811998632973676)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053354679030800815)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.22863973450271471)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.036757553494219546)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040075149727639509)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013574438423676774)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.014799615333023134)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058170268354931248)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.009351816102656051)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.010195875266786407)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012450687019346486)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053354679030800829)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.077445898974953548)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.084435869696849797)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.3318773554937019)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053354679030800836)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.2830869924348563)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020160825588817252)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025383152182066201)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.23919668259056145)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.14278898169094956)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.17977609281010931)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.030040718507945225)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.002139433116273644)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025383152182066195)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019077538505445499)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.023860144794362503)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020160825588817249)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012035048833865587)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01515252809081665)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.039969943152159265)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.033772932211040815)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020160825588817245)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025383152182066191)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.090150328303510344)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.029517331411893867)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.037280633286332542)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.038041411821271319)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012455650259246798)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015731589118882314)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.27533253531028662)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.048046617223388682)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.090150328303510385)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.11386060898348732)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.21799741519439725)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.030119685775736597)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.07137746553252089)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.090150328303510371)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.067458477890573201)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.035870894765649017)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.27308043404340754)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.011024731463671476)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.083929839859876898)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.044629504659074608)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.30460043053460045)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.005862376301973493)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020733009548559916)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018587561536304909)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055932196812816262)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053705963564394235)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.036199865373541695)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.022496381554864123)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034759025419540221)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.32887513974352289)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.02111678772433076)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.20437923045390871)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.31578513412249021)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_GREEN_UP*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_GREEN_UP*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00039530708258920849))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 11; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q]; + const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q]; + const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q]; + const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11); + const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12); + const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13); + const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16; + const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000); + const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31; + const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20; + const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27; + const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41); + const real_t tmp_qloop_43 = -tmp_qloop_42; + const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38; + const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45; + const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47; + const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42); + const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36; + const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46; + const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44; + const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42); + const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0; + const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42); + const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q]; + const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_57; + const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_57; + const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_57; + const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMat_0_0 = q_acc_0_0; + const real_t elMat_0_1 = q_acc_0_1; + const real_t elMat_0_2 = q_acc_0_2; + const real_t elMat_0_3 = q_acc_0_3; + const real_t elMat_0_4 = q_acc_0_4; + const real_t elMat_0_5 = q_acc_0_5; + const real_t elMat_0_6 = q_acc_0_6; + const real_t elMat_0_7 = q_acc_0_7; + const real_t elMat_0_8 = q_acc_0_8; + const real_t elMat_0_9 = q_acc_0_9; + const real_t elMat_1_0 = q_acc_1_0; + const real_t elMat_1_1 = q_acc_1_1; + const real_t elMat_1_2 = q_acc_1_2; + const real_t elMat_1_3 = q_acc_1_3; + const real_t elMat_1_4 = q_acc_1_4; + const real_t elMat_1_5 = q_acc_1_5; + const real_t elMat_1_6 = q_acc_1_6; + const real_t elMat_1_7 = q_acc_1_7; + const real_t elMat_1_8 = q_acc_1_8; + const real_t elMat_1_9 = q_acc_1_9; + const real_t elMat_2_0 = q_acc_2_0; + const real_t elMat_2_1 = q_acc_2_1; + const real_t elMat_2_2 = q_acc_2_2; + const real_t elMat_2_3 = q_acc_2_3; + const real_t elMat_2_4 = q_acc_2_4; + const real_t elMat_2_5 = q_acc_2_5; + const real_t elMat_2_6 = q_acc_2_6; + const real_t elMat_2_7 = q_acc_2_7; + const real_t elMat_2_8 = q_acc_2_8; + const real_t elMat_2_9 = q_acc_2_9; + const real_t elMat_3_0 = q_acc_3_0; + const real_t elMat_3_1 = q_acc_3_1; + const real_t elMat_3_2 = q_acc_3_2; + const real_t elMat_3_3 = q_acc_3_3; + const real_t elMat_3_4 = q_acc_3_4; + const real_t elMat_3_5 = q_acc_3_5; + const real_t elMat_3_6 = q_acc_3_6; + const real_t elMat_3_7 = q_acc_3_7; + const real_t elMat_3_8 = q_acc_3_8; + const real_t elMat_3_9 = q_acc_3_9; + + std::vector< uint_t > _data_rowIdx( 4 ); + std::vector< uint_t > _data_colIdx( 10 ); + std::vector< real_t > _data_mat( 40 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_0_4)); + _data_mat[5] = ((real_t)(elMat_0_5)); + _data_mat[6] = ((real_t)(elMat_0_6)); + _data_mat[7] = ((real_t)(elMat_0_7)); + _data_mat[8] = ((real_t)(elMat_0_8)); + _data_mat[9] = ((real_t)(elMat_0_9)); + _data_mat[10] = ((real_t)(elMat_1_0)); + _data_mat[11] = ((real_t)(elMat_1_1)); + _data_mat[12] = ((real_t)(elMat_1_2)); + _data_mat[13] = ((real_t)(elMat_1_3)); + _data_mat[14] = ((real_t)(elMat_1_4)); + _data_mat[15] = ((real_t)(elMat_1_5)); + _data_mat[16] = ((real_t)(elMat_1_6)); + _data_mat[17] = ((real_t)(elMat_1_7)); + _data_mat[18] = ((real_t)(elMat_1_8)); + _data_mat[19] = ((real_t)(elMat_1_9)); + _data_mat[20] = ((real_t)(elMat_2_0)); + _data_mat[21] = ((real_t)(elMat_2_1)); + _data_mat[22] = ((real_t)(elMat_2_2)); + _data_mat[23] = ((real_t)(elMat_2_3)); + _data_mat[24] = ((real_t)(elMat_2_4)); + _data_mat[25] = ((real_t)(elMat_2_5)); + _data_mat[26] = ((real_t)(elMat_2_6)); + _data_mat[27] = ((real_t)(elMat_2_7)); + _data_mat[28] = ((real_t)(elMat_2_8)); + _data_mat[29] = ((real_t)(elMat_2_9)); + _data_mat[30] = ((real_t)(elMat_3_0)); + _data_mat[31] = ((real_t)(elMat_3_1)); + _data_mat[32] = ((real_t)(elMat_3_2)); + _data_mat[33] = ((real_t)(elMat_3_3)); + _data_mat[34] = ((real_t)(elMat_3_4)); + _data_mat[35] = ((real_t)(elMat_3_5)); + _data_mat[36] = ((real_t)(elMat_3_6)); + _data_mat[37] = ((real_t)(elMat_3_7)); + _data_mat[38] = ((real_t)(elMat_3_8)); + _data_mat[39] = ((real_t)(elMat_3_9)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + const real_t tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const real_t p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const real_t p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const real_t p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const real_t p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const real_t p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const real_t p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const real_t p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const real_t p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const real_t abs_det_jac_affine_GREEN_DOWN = abs(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + { + /* CellType.GREEN_DOWN */ + const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_DOWN [] = {((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012151214443257608)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019083835042434261)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.072053489056043002)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017525267423213611)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.027523941260433657)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.049958575567593019)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.078461393265588306)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.29624114484395714)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.072053489056042974)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.11316209633188964)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.031810029988819218)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.18862506775555832)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012151214443257601)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.045878482755592566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.07205348905604296)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013231853551815916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012151214443257603)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017130957178208683)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.011159409734644826)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.068524255492113287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.044637916950180538)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.000283911881665389)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.50966681808331993)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.33200601647520916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.083000987173061064)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015706073884687172)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021562946853404222)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.071405876738584673)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.080243884747120436)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.26572828761452333)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.095997217930328324)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.016039226535213912)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019188018251946451)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021562946853404225)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025796145274243024)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.044397913749511943)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053114031247306501)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.19765740883375349)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013407157762204741)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018024424659562992)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.059688031245203853)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021562946853404232)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018984670973016902)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.094319450236798913)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.030642694050274453)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.084650020197820364)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058435584226493004)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.29031907828914638)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.26055618198886238)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017384857321768536)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021153258143552994)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.10509340307518385)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034142957672569287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.022395383667253931)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015588264867481133)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.42876947450525699)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.009732450635762396)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.29844418988237825)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.071749615697017544)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015588264867481126)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.1149198753205366)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013982439217157605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058160280082415236)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040482354049473784)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015588264867481138)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018978279386089755)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.056811998632973766)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01396686284573566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015485631440181358)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01139648574059631)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.069625445155635055)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.20842567519062763)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.051240105769272605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.056811998632973738)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013966862845735664)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.041810186095187066)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.023258663351751644)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017116965895609845)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018978279386089748)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01396686284573564)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.094607584046545581)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.28321039153111127)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.077196575526473174)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018978279386089758)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.056811998632973676)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053354679030800815)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.22863973450271471)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.036757553494219546)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040075149727639509)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013574438423676774)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.014799615333023134)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058170268354931248)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.009351816102656051)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.010195875266786407)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012450687019346486)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053354679030800829)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.077445898974953548)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.084435869696849797)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.3318773554937019)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053354679030800836)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.2830869924348563)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020160825588817252)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025383152182066201)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.23919668259056145)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.14278898169094956)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.17977609281010931)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.030040718507945225)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.002139433116273644)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025383152182066195)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019077538505445499)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.023860144794362503)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020160825588817249)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012035048833865587)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01515252809081665)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.039969943152159265)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.033772932211040815)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020160825588817245)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025383152182066191)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.090150328303510344)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.029517331411893867)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.037280633286332542)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.038041411821271319)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012455650259246798)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015731589118882314)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.27533253531028662)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.048046617223388682)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.090150328303510385)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.11386060898348732)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.21799741519439725)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.030119685775736597)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.07137746553252089)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.090150328303510371)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.067458477890573201)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.035870894765649017)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.27308043404340754)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.011024731463671476)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.083929839859876898)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.044629504659074608)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.30460043053460045)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.005862376301973493)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020733009548559916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018587561536304909)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055932196812816262)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053705963564394235)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.036199865373541695)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.022496381554864123)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034759025419540221)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.32887513974352289)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.02111678772433076)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.20437923045390871)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.31578513412249021)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00039530708258920849))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + + const int64_t phantom_ctr_0 = ctr_0; + real_t _data_float_loop_ctr_array_dim_0[4]; + _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0; + _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1; + _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2; + _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3; + real_t _data_float_loop_ctr_array_dim_1[4]; + _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1; + _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1; + real_t _data_float_loop_ctr_array_dim_2[4]; + _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2; + _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2; + + const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]; + const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0; + const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 11; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q]; + const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q]; + const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q]; + const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11); + const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12); + const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13); + const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16; + const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000); + const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31; + const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20; + const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27; + const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41); + const real_t tmp_qloop_43 = -tmp_qloop_42; + const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38; + const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45; + const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47; + const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42); + const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36; + const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46; + const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44; + const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42); + const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0; + const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42); + const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q]; + const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_57; + const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_57; + const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_57; + const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMat_0_0 = q_acc_0_0; + const real_t elMat_0_1 = q_acc_0_1; + const real_t elMat_0_2 = q_acc_0_2; + const real_t elMat_0_3 = q_acc_0_3; + const real_t elMat_0_4 = q_acc_0_4; + const real_t elMat_0_5 = q_acc_0_5; + const real_t elMat_0_6 = q_acc_0_6; + const real_t elMat_0_7 = q_acc_0_7; + const real_t elMat_0_8 = q_acc_0_8; + const real_t elMat_0_9 = q_acc_0_9; + const real_t elMat_1_0 = q_acc_1_0; + const real_t elMat_1_1 = q_acc_1_1; + const real_t elMat_1_2 = q_acc_1_2; + const real_t elMat_1_3 = q_acc_1_3; + const real_t elMat_1_4 = q_acc_1_4; + const real_t elMat_1_5 = q_acc_1_5; + const real_t elMat_1_6 = q_acc_1_6; + const real_t elMat_1_7 = q_acc_1_7; + const real_t elMat_1_8 = q_acc_1_8; + const real_t elMat_1_9 = q_acc_1_9; + const real_t elMat_2_0 = q_acc_2_0; + const real_t elMat_2_1 = q_acc_2_1; + const real_t elMat_2_2 = q_acc_2_2; + const real_t elMat_2_3 = q_acc_2_3; + const real_t elMat_2_4 = q_acc_2_4; + const real_t elMat_2_5 = q_acc_2_5; + const real_t elMat_2_6 = q_acc_2_6; + const real_t elMat_2_7 = q_acc_2_7; + const real_t elMat_2_8 = q_acc_2_8; + const real_t elMat_2_9 = q_acc_2_9; + const real_t elMat_3_0 = q_acc_3_0; + const real_t elMat_3_1 = q_acc_3_1; + const real_t elMat_3_2 = q_acc_3_2; + const real_t elMat_3_3 = q_acc_3_3; + const real_t elMat_3_4 = q_acc_3_4; + const real_t elMat_3_5 = q_acc_3_5; + const real_t elMat_3_6 = q_acc_3_6; + const real_t elMat_3_7 = q_acc_3_7; + const real_t elMat_3_8 = q_acc_3_8; + const real_t elMat_3_9 = q_acc_3_9; + + std::vector< uint_t > _data_rowIdx( 4 ); + std::vector< uint_t > _data_colIdx( 10 ); + std::vector< real_t > _data_mat( 40 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_0_4)); + _data_mat[5] = ((real_t)(elMat_0_5)); + _data_mat[6] = ((real_t)(elMat_0_6)); + _data_mat[7] = ((real_t)(elMat_0_7)); + _data_mat[8] = ((real_t)(elMat_0_8)); + _data_mat[9] = ((real_t)(elMat_0_9)); + _data_mat[10] = ((real_t)(elMat_1_0)); + _data_mat[11] = ((real_t)(elMat_1_1)); + _data_mat[12] = ((real_t)(elMat_1_2)); + _data_mat[13] = ((real_t)(elMat_1_3)); + _data_mat[14] = ((real_t)(elMat_1_4)); + _data_mat[15] = ((real_t)(elMat_1_5)); + _data_mat[16] = ((real_t)(elMat_1_6)); + _data_mat[17] = ((real_t)(elMat_1_7)); + _data_mat[18] = ((real_t)(elMat_1_8)); + _data_mat[19] = ((real_t)(elMat_1_9)); + _data_mat[20] = ((real_t)(elMat_2_0)); + _data_mat[21] = ((real_t)(elMat_2_1)); + _data_mat[22] = ((real_t)(elMat_2_2)); + _data_mat[23] = ((real_t)(elMat_2_3)); + _data_mat[24] = ((real_t)(elMat_2_4)); + _data_mat[25] = ((real_t)(elMat_2_5)); + _data_mat[26] = ((real_t)(elMat_2_6)); + _data_mat[27] = ((real_t)(elMat_2_7)); + _data_mat[28] = ((real_t)(elMat_2_8)); + _data_mat[29] = ((real_t)(elMat_2_9)); + _data_mat[30] = ((real_t)(elMat_3_0)); + _data_mat[31] = ((real_t)(elMat_3_1)); + _data_mat[32] = ((real_t)(elMat_3_2)); + _data_mat[33] = ((real_t)(elMat_3_3)); + _data_mat[34] = ((real_t)(elMat_3_4)); + _data_mat[35] = ((real_t)(elMat_3_5)); + _data_mat[36] = ((real_t)(elMat_3_6)); + _data_mat[37] = ((real_t)(elMat_3_7)); + _data_mat[38] = ((real_t)(elMat_3_8)); + _data_mat[39] = ((real_t)(elMat_3_9)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/k_mass/noarch/P2ToP1ElementwiseKMass_apply_macro_2D.cpp b/operators/k_mass/noarch/P2ToP1ElementwiseKMass_apply_macro_2D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..2d6ad1e5edf9fe6fce47798cd4d8f8e5227fe976 --- /dev/null +++ b/operators/k_mass/noarch/P2ToP1ElementwiseKMass_apply_macro_2D.cpp @@ -0,0 +1,280 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + + + + + + + + + + + + + + + + + + + + + + + + + +#include "../P2ToP1ElementwiseKMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P2ToP1ElementwiseKMass::apply_macro_2D( real_t * RESTRICT _data_dst, real_t * RESTRICT _data_kEdge, real_t * RESTRICT _data_kVertex, real_t * RESTRICT _data_srcEdge, real_t * RESTRICT _data_srcVertex, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float ) const +{ + { + const real_t _data_q_w [] = {-0.28125, 0.26041666666666669, 0.26041666666666669, 0.26041666666666669}; + + const real_t _data_q_p_0 [] = {0.33333333333333331, 0.20000000000000001, 0.59999999999999998, 0.20000000000000001}; + + const real_t _data_q_p_1 [] = {0.33333333333333331, 0.59999999999999998, 0.20000000000000001, 0.20000000000000001}; + + const real_t tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0; + const real_t p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1; + const real_t p_affine_const_1_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t p_affine_const_1_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t p_affine_const_2_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t p_affine_const_2_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY; + const real_t jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY; + const real_t jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY; + const real_t jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY; + const real_t abs_det_jac_affine_GRAY = abs(jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY); + { + /* FaceType.GRAY */ + const real_t _data_phi_psi_jac_affine_det_0_0_GRAY [] = {((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037063)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814817)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814817)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814817)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*-0.023999999999999987)), ((real_t)(abs_det_jac_affine_GRAY*-0.024000000000000007)), ((real_t)(abs_det_jac_affine_GRAY*0.024000000000000007)), ((real_t)(abs_det_jac_affine_GRAY*0.09600000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.09600000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000015)), ((real_t)(abs_det_jac_affine_GRAY*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_GRAY*0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.071999999999999939)), ((real_t)(abs_det_jac_affine_GRAY*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.09600000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.28800000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.28800000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002))}; + + for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 + micro_edges_per_macro_edge; ctr_0 += 1) + { + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t src_dof_3 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t k_dof_3 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q]; + const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_2 = tmp_qloop_1*2.0; + const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_4 = tmp_qloop_3*2.0; + const real_t tmp_qloop_5 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t q_tmp_0_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q]; + const real_t q_tmp_0_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5]; + const real_t q_tmp_1_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6]; + const real_t q_tmp_1_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7]; + const real_t q_tmp_1_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8]; + const real_t q_tmp_1_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9]; + const real_t q_tmp_1_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10]; + const real_t q_tmp_1_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11]; + const real_t q_tmp_2_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12]; + const real_t q_tmp_2_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13]; + const real_t q_tmp_2_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14]; + const real_t q_tmp_2_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15]; + const real_t q_tmp_2_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16]; + const real_t q_tmp_2_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5; + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + } + } + const real_t tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE; + const real_t p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE; + const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE; + const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE; + const real_t p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE; + const real_t p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE; + const real_t jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE; + const real_t jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE; + const real_t jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE; + const real_t jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE; + const real_t abs_det_jac_affine_BLUE = abs(jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE); + { + /* FaceType.BLUE */ + const real_t _data_phi_psi_jac_affine_det_0_0_BLUE [] = {((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037063)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814817)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814817)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814817)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*-0.023999999999999987)), ((real_t)(abs_det_jac_affine_BLUE*-0.024000000000000007)), ((real_t)(abs_det_jac_affine_BLUE*0.024000000000000007)), ((real_t)(abs_det_jac_affine_BLUE*0.09600000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.09600000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000015)), ((real_t)(abs_det_jac_affine_BLUE*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_BLUE*0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.071999999999999939)), ((real_t)(abs_det_jac_affine_BLUE*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.09600000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.28800000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.28800000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002))}; + + for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + const real_t src_dof_3 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + const real_t k_dof_3 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q]; + const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_2 = tmp_qloop_1*2.0; + const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_4 = tmp_qloop_3*2.0; + const real_t tmp_qloop_5 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t q_tmp_0_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q]; + const real_t q_tmp_0_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5]; + const real_t q_tmp_1_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6]; + const real_t q_tmp_1_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7]; + const real_t q_tmp_1_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8]; + const real_t q_tmp_1_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9]; + const real_t q_tmp_1_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10]; + const real_t q_tmp_1_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11]; + const real_t q_tmp_2_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12]; + const real_t q_tmp_2_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13]; + const real_t q_tmp_2_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14]; + const real_t q_tmp_2_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15]; + const real_t q_tmp_2_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16]; + const real_t q_tmp_2_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5; + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/k_mass/noarch/P2ToP1ElementwiseKMass_apply_macro_3D.cpp b/operators/k_mass/noarch/P2ToP1ElementwiseKMass_apply_macro_3D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..2b421bd0f83878dae82cb266426fc27bd5b23573 --- /dev/null +++ b/operators/k_mass/noarch/P2ToP1ElementwiseKMass_apply_macro_3D.cpp @@ -0,0 +1,1298 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + + + + + + + + + + + + + + + + + + + + + + + + + +#include "../P2ToP1ElementwiseKMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P2ToP1ElementwiseKMass::apply_macro_3D( real_t * RESTRICT _data_dst, real_t * RESTRICT _data_kEdge, real_t * RESTRICT _data_kVertex, real_t * RESTRICT _data_srcEdge, real_t * RESTRICT _data_srcVertex, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_0comp2, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_1comp2, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, real_t macro_vertex_coord_id_2comp2, real_t macro_vertex_coord_id_3comp0, real_t macro_vertex_coord_id_3comp1, real_t macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float ) const +{ + { + const real_t _data_q_w [] = {-0.1333333333333333, 0.074999999999999983, 0.074999999999999983, 0.074999999999999983, 0.074999999999999983}; + + const real_t _data_q_p_0 [] = {0.25, 0.16666666666666666, 0.16666666666666666, 0.5, 0.16666666666666666}; + + const real_t _data_q_p_1 [] = {0.25, 0.16666666666666666, 0.5, 0.16666666666666666, 0.16666666666666666}; + + const real_t _data_q_p_2 [] = {0.25, 0.5, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666}; + + const real_t tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const real_t p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const real_t p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const real_t p_affine_const_1_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t p_affine_const_1_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t p_affine_const_1_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t p_affine_const_2_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t p_affine_const_2_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t p_affine_const_2_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t p_affine_const_3_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t p_affine_const_3_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t p_affine_const_3_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const real_t abs_det_jac_affine_WHITE_UP = abs(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + { + /* CellType.WHITE_UP */ + const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_UP [] = {((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555594)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1) + { + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 5; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_12; + const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_12; + const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_12; + const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + } + } + const real_t tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const real_t tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const real_t tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t tmp_coords_jac_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const real_t tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const real_t p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const real_t p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const real_t p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const real_t p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const real_t p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_1_WHITE_DOWN; + const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_4_WHITE_DOWN; + const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_7_WHITE_DOWN; + const real_t p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const real_t p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const real_t p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const real_t abs_det_jac_affine_WHITE_DOWN = abs(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + { + /* CellType.WHITE_DOWN */ + const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_DOWN [] = {((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555594)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1) + { + const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 5; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_12; + const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_12; + const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_12; + const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + } + } + const real_t tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const real_t p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const real_t p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const real_t p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const real_t p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const real_t p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const real_t p_affine_const_3_0_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_coords_jac_1_BLUE_UP; + const real_t p_affine_const_3_1_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_coords_jac_2_BLUE_UP; + const real_t p_affine_const_3_2_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_coords_jac_3_BLUE_UP; + const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const real_t abs_det_jac_affine_BLUE_UP = abs(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + { + /* CellType.BLUE_UP */ + const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_UP [] = {((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555594)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 5; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_12; + const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_12; + const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_12; + const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + } + } + const real_t tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const real_t tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const real_t tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const real_t p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const real_t p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const real_t p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const real_t p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const real_t p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const real_t p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const real_t p_affine_const_2_0_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_coords_jac_5_BLUE_DOWN; + const real_t p_affine_const_2_1_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_coords_jac_7_BLUE_DOWN; + const real_t p_affine_const_2_2_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_coords_jac_9_BLUE_DOWN; + const real_t p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const real_t p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const real_t p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const real_t abs_det_jac_affine_BLUE_DOWN = abs(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + { + /* CellType.BLUE_DOWN */ + const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_DOWN [] = {((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555594)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 5; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_12; + const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_12; + const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_12; + const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + } + } + const real_t tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const real_t p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const real_t p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t p_affine_const_1_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t p_affine_const_1_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const real_t p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const real_t p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const real_t p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const real_t abs_det_jac_affine_GREEN_UP = abs(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + { + /* CellType.GREEN_UP */ + const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_UP [] = {((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555594)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 5; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_12; + const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_12; + const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_12; + const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + } + } + const real_t tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const real_t p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const real_t p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const real_t p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const real_t p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const real_t p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const real_t p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const real_t p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const real_t p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const real_t abs_det_jac_affine_GREEN_DOWN = abs(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + { + /* CellType.GREEN_DOWN */ + const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_DOWN [] = {((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555594)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_5 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t src_dof_9 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 5; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_12; + const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_12; + const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_12; + const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; + const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9; + const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9; + const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/k_mass/noarch/P2ToP1ElementwiseKMass_toMatrix_macro_2D.cpp b/operators/k_mass/noarch/P2ToP1ElementwiseKMass_toMatrix_macro_2D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..e1aaf541eb1aaedbe875bc4f1da98f36ab0b87f0 --- /dev/null +++ b/operators/k_mass/noarch/P2ToP1ElementwiseKMass_toMatrix_macro_2D.cpp @@ -0,0 +1,372 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + + + + + + + + + + + + + + + + + + + + + + + + + +#include "../P2ToP1ElementwiseKMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P2ToP1ElementwiseKMass::toMatrix_macro_2D( idx_t * RESTRICT _data_dst, real_t * RESTRICT _data_kEdge, real_t * RESTRICT _data_kVertex, idx_t * RESTRICT _data_srcEdge, idx_t * RESTRICT _data_srcVertex, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, std::shared_ptr< SparseMatrixProxy > mat, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float ) const +{ + { + const real_t _data_q_w [] = {-0.28125, 0.26041666666666669, 0.26041666666666669, 0.26041666666666669}; + + const real_t _data_q_p_0 [] = {0.33333333333333331, 0.20000000000000001, 0.59999999999999998, 0.20000000000000001}; + + const real_t _data_q_p_1 [] = {0.33333333333333331, 0.59999999999999998, 0.20000000000000001, 0.20000000000000001}; + + const real_t tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0; + const real_t p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1; + const real_t p_affine_const_1_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t p_affine_const_1_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t p_affine_const_2_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t p_affine_const_2_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY; + const real_t jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY; + const real_t jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY; + const real_t jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY; + const real_t abs_det_jac_affine_GRAY = abs(jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY); + { + /* FaceType.GRAY */ + const real_t _data_phi_psi_jac_affine_det_0_0_GRAY [] = {((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037063)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814817)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814817)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814817)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*-0.023999999999999987)), ((real_t)(abs_det_jac_affine_GRAY*-0.024000000000000007)), ((real_t)(abs_det_jac_affine_GRAY*0.024000000000000007)), ((real_t)(abs_det_jac_affine_GRAY*0.09600000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.09600000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000015)), ((real_t)(abs_det_jac_affine_GRAY*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_GRAY*0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.071999999999999939)), ((real_t)(abs_det_jac_affine_GRAY*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.09600000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.28800000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.28800000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002))}; + + for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 + micro_edges_per_macro_edge; ctr_0 += 1) + { + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t k_dof_3 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q]; + const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_2 = tmp_qloop_1*2.0; + const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_4 = tmp_qloop_3*2.0; + const real_t tmp_qloop_5 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t q_tmp_0_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q]; + const real_t q_tmp_0_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5]; + const real_t q_tmp_1_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6]; + const real_t q_tmp_1_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7]; + const real_t q_tmp_1_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8]; + const real_t q_tmp_1_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9]; + const real_t q_tmp_1_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10]; + const real_t q_tmp_1_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11]; + const real_t q_tmp_2_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12]; + const real_t q_tmp_2_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13]; + const real_t q_tmp_2_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14]; + const real_t q_tmp_2_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15]; + const real_t q_tmp_2_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16]; + const real_t q_tmp_2_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + } + const real_t elMat_0_0 = q_acc_0_0; + const real_t elMat_0_1 = q_acc_0_1; + const real_t elMat_0_2 = q_acc_0_2; + const real_t elMat_0_3 = q_acc_0_3; + const real_t elMat_0_4 = q_acc_0_4; + const real_t elMat_0_5 = q_acc_0_5; + const real_t elMat_1_0 = q_acc_1_0; + const real_t elMat_1_1 = q_acc_1_1; + const real_t elMat_1_2 = q_acc_1_2; + const real_t elMat_1_3 = q_acc_1_3; + const real_t elMat_1_4 = q_acc_1_4; + const real_t elMat_1_5 = q_acc_1_5; + const real_t elMat_2_0 = q_acc_2_0; + const real_t elMat_2_1 = q_acc_2_1; + const real_t elMat_2_2 = q_acc_2_2; + const real_t elMat_2_3 = q_acc_2_3; + const real_t elMat_2_4 = q_acc_2_4; + const real_t elMat_2_5 = q_acc_2_5; + + std::vector< uint_t > _data_rowIdx( 3 ); + std::vector< uint_t > _data_colIdx( 6 ); + std::vector< real_t > _data_mat( 18 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))])); + _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))])); + _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1])); + _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))])); + _data_colIdx[3] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))])); + _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))])); + _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_0_4)); + _data_mat[5] = ((real_t)(elMat_0_5)); + _data_mat[6] = ((real_t)(elMat_1_0)); + _data_mat[7] = ((real_t)(elMat_1_1)); + _data_mat[8] = ((real_t)(elMat_1_2)); + _data_mat[9] = ((real_t)(elMat_1_3)); + _data_mat[10] = ((real_t)(elMat_1_4)); + _data_mat[11] = ((real_t)(elMat_1_5)); + _data_mat[12] = ((real_t)(elMat_2_0)); + _data_mat[13] = ((real_t)(elMat_2_1)); + _data_mat[14] = ((real_t)(elMat_2_2)); + _data_mat[15] = ((real_t)(elMat_2_3)); + _data_mat[16] = ((real_t)(elMat_2_4)); + _data_mat[17] = ((real_t)(elMat_2_5)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + const real_t tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE; + const real_t p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE; + const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE; + const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE; + const real_t p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE; + const real_t p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE; + const real_t jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE; + const real_t jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE; + const real_t jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE; + const real_t jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE; + const real_t abs_det_jac_affine_BLUE = abs(jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE); + { + /* FaceType.BLUE */ + const real_t _data_phi_psi_jac_affine_det_0_0_BLUE [] = {((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037063)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814817)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814817)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814817)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*-0.023999999999999987)), ((real_t)(abs_det_jac_affine_BLUE*-0.024000000000000007)), ((real_t)(abs_det_jac_affine_BLUE*0.024000000000000007)), ((real_t)(abs_det_jac_affine_BLUE*0.09600000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.09600000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000015)), ((real_t)(abs_det_jac_affine_BLUE*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_BLUE*0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.071999999999999939)), ((real_t)(abs_det_jac_affine_BLUE*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.09600000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.28800000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.28800000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002))}; + + for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + const real_t k_dof_3 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q]; + const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_2 = tmp_qloop_1*2.0; + const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_4 = tmp_qloop_3*2.0; + const real_t tmp_qloop_5 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t q_tmp_0_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q]; + const real_t q_tmp_0_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5]; + const real_t q_tmp_1_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6]; + const real_t q_tmp_1_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7]; + const real_t q_tmp_1_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8]; + const real_t q_tmp_1_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9]; + const real_t q_tmp_1_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10]; + const real_t q_tmp_1_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11]; + const real_t q_tmp_2_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12]; + const real_t q_tmp_2_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13]; + const real_t q_tmp_2_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14]; + const real_t q_tmp_2_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15]; + const real_t q_tmp_2_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16]; + const real_t q_tmp_2_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + } + const real_t elMat_0_0 = q_acc_0_0; + const real_t elMat_0_1 = q_acc_0_1; + const real_t elMat_0_2 = q_acc_0_2; + const real_t elMat_0_3 = q_acc_0_3; + const real_t elMat_0_4 = q_acc_0_4; + const real_t elMat_0_5 = q_acc_0_5; + const real_t elMat_1_0 = q_acc_1_0; + const real_t elMat_1_1 = q_acc_1_1; + const real_t elMat_1_2 = q_acc_1_2; + const real_t elMat_1_3 = q_acc_1_3; + const real_t elMat_1_4 = q_acc_1_4; + const real_t elMat_1_5 = q_acc_1_5; + const real_t elMat_2_0 = q_acc_2_0; + const real_t elMat_2_1 = q_acc_2_1; + const real_t elMat_2_2 = q_acc_2_2; + const real_t elMat_2_3 = q_acc_2_3; + const real_t elMat_2_4 = q_acc_2_4; + const real_t elMat_2_5 = q_acc_2_5; + + std::vector< uint_t > _data_rowIdx( 3 ); + std::vector< uint_t > _data_colIdx( 6 ); + std::vector< real_t > _data_mat( 18 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1])); + _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1])); + _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))])); + _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1])); + _data_colIdx[3] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))])); + _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1])); + _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_0_4)); + _data_mat[5] = ((real_t)(elMat_0_5)); + _data_mat[6] = ((real_t)(elMat_1_0)); + _data_mat[7] = ((real_t)(elMat_1_1)); + _data_mat[8] = ((real_t)(elMat_1_2)); + _data_mat[9] = ((real_t)(elMat_1_3)); + _data_mat[10] = ((real_t)(elMat_1_4)); + _data_mat[11] = ((real_t)(elMat_1_5)); + _data_mat[12] = ((real_t)(elMat_2_0)); + _data_mat[13] = ((real_t)(elMat_2_1)); + _data_mat[14] = ((real_t)(elMat_2_2)); + _data_mat[15] = ((real_t)(elMat_2_3)); + _data_mat[16] = ((real_t)(elMat_2_4)); + _data_mat[17] = ((real_t)(elMat_2_5)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/k_mass/noarch/P2ToP1ElementwiseKMass_toMatrix_macro_3D.cpp b/operators/k_mass/noarch/P2ToP1ElementwiseKMass_toMatrix_macro_3D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..f74a078619b4075c9a04e6da6e899faa3a7993d6 --- /dev/null +++ b/operators/k_mass/noarch/P2ToP1ElementwiseKMass_toMatrix_macro_3D.cpp @@ -0,0 +1,1832 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + + + + + + + + + + + + + + + + + + + + + + + + + +#include "../P2ToP1ElementwiseKMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P2ToP1ElementwiseKMass::toMatrix_macro_3D( idx_t * RESTRICT _data_dst, real_t * RESTRICT _data_kEdge, real_t * RESTRICT _data_kVertex, idx_t * RESTRICT _data_srcEdge, idx_t * RESTRICT _data_srcVertex, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_0comp2, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_1comp2, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, real_t macro_vertex_coord_id_2comp2, real_t macro_vertex_coord_id_3comp0, real_t macro_vertex_coord_id_3comp1, real_t macro_vertex_coord_id_3comp2, std::shared_ptr< SparseMatrixProxy > mat, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float ) const +{ + { + const real_t _data_q_w [] = {-0.1333333333333333, 0.074999999999999983, 0.074999999999999983, 0.074999999999999983, 0.074999999999999983}; + + const real_t _data_q_p_0 [] = {0.25, 0.16666666666666666, 0.16666666666666666, 0.5, 0.16666666666666666}; + + const real_t _data_q_p_1 [] = {0.25, 0.16666666666666666, 0.5, 0.16666666666666666, 0.16666666666666666}; + + const real_t _data_q_p_2 [] = {0.25, 0.5, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666}; + + const real_t tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const real_t p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const real_t p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const real_t p_affine_const_1_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t p_affine_const_1_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t p_affine_const_1_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t p_affine_const_2_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t p_affine_const_2_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t p_affine_const_2_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t p_affine_const_3_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t p_affine_const_3_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t p_affine_const_3_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const real_t abs_det_jac_affine_WHITE_UP = abs(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + { + /* CellType.WHITE_UP */ + const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_UP [] = {((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555594)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1) + { + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 5; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_12; + const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_12; + const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_12; + const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMat_0_0 = q_acc_0_0; + const real_t elMat_0_1 = q_acc_0_1; + const real_t elMat_0_2 = q_acc_0_2; + const real_t elMat_0_3 = q_acc_0_3; + const real_t elMat_0_4 = q_acc_0_4; + const real_t elMat_0_5 = q_acc_0_5; + const real_t elMat_0_6 = q_acc_0_6; + const real_t elMat_0_7 = q_acc_0_7; + const real_t elMat_0_8 = q_acc_0_8; + const real_t elMat_0_9 = q_acc_0_9; + const real_t elMat_1_0 = q_acc_1_0; + const real_t elMat_1_1 = q_acc_1_1; + const real_t elMat_1_2 = q_acc_1_2; + const real_t elMat_1_3 = q_acc_1_3; + const real_t elMat_1_4 = q_acc_1_4; + const real_t elMat_1_5 = q_acc_1_5; + const real_t elMat_1_6 = q_acc_1_6; + const real_t elMat_1_7 = q_acc_1_7; + const real_t elMat_1_8 = q_acc_1_8; + const real_t elMat_1_9 = q_acc_1_9; + const real_t elMat_2_0 = q_acc_2_0; + const real_t elMat_2_1 = q_acc_2_1; + const real_t elMat_2_2 = q_acc_2_2; + const real_t elMat_2_3 = q_acc_2_3; + const real_t elMat_2_4 = q_acc_2_4; + const real_t elMat_2_5 = q_acc_2_5; + const real_t elMat_2_6 = q_acc_2_6; + const real_t elMat_2_7 = q_acc_2_7; + const real_t elMat_2_8 = q_acc_2_8; + const real_t elMat_2_9 = q_acc_2_9; + const real_t elMat_3_0 = q_acc_3_0; + const real_t elMat_3_1 = q_acc_3_1; + const real_t elMat_3_2 = q_acc_3_2; + const real_t elMat_3_3 = q_acc_3_3; + const real_t elMat_3_4 = q_acc_3_4; + const real_t elMat_3_5 = q_acc_3_5; + const real_t elMat_3_6 = q_acc_3_6; + const real_t elMat_3_7 = q_acc_3_7; + const real_t elMat_3_8 = q_acc_3_8; + const real_t elMat_3_9 = q_acc_3_9; + + std::vector< uint_t > _data_rowIdx( 4 ); + std::vector< uint_t > _data_colIdx( 10 ); + std::vector< real_t > _data_mat( 40 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_0_4)); + _data_mat[5] = ((real_t)(elMat_0_5)); + _data_mat[6] = ((real_t)(elMat_0_6)); + _data_mat[7] = ((real_t)(elMat_0_7)); + _data_mat[8] = ((real_t)(elMat_0_8)); + _data_mat[9] = ((real_t)(elMat_0_9)); + _data_mat[10] = ((real_t)(elMat_1_0)); + _data_mat[11] = ((real_t)(elMat_1_1)); + _data_mat[12] = ((real_t)(elMat_1_2)); + _data_mat[13] = ((real_t)(elMat_1_3)); + _data_mat[14] = ((real_t)(elMat_1_4)); + _data_mat[15] = ((real_t)(elMat_1_5)); + _data_mat[16] = ((real_t)(elMat_1_6)); + _data_mat[17] = ((real_t)(elMat_1_7)); + _data_mat[18] = ((real_t)(elMat_1_8)); + _data_mat[19] = ((real_t)(elMat_1_9)); + _data_mat[20] = ((real_t)(elMat_2_0)); + _data_mat[21] = ((real_t)(elMat_2_1)); + _data_mat[22] = ((real_t)(elMat_2_2)); + _data_mat[23] = ((real_t)(elMat_2_3)); + _data_mat[24] = ((real_t)(elMat_2_4)); + _data_mat[25] = ((real_t)(elMat_2_5)); + _data_mat[26] = ((real_t)(elMat_2_6)); + _data_mat[27] = ((real_t)(elMat_2_7)); + _data_mat[28] = ((real_t)(elMat_2_8)); + _data_mat[29] = ((real_t)(elMat_2_9)); + _data_mat[30] = ((real_t)(elMat_3_0)); + _data_mat[31] = ((real_t)(elMat_3_1)); + _data_mat[32] = ((real_t)(elMat_3_2)); + _data_mat[33] = ((real_t)(elMat_3_3)); + _data_mat[34] = ((real_t)(elMat_3_4)); + _data_mat[35] = ((real_t)(elMat_3_5)); + _data_mat[36] = ((real_t)(elMat_3_6)); + _data_mat[37] = ((real_t)(elMat_3_7)); + _data_mat[38] = ((real_t)(elMat_3_8)); + _data_mat[39] = ((real_t)(elMat_3_9)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + const real_t tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const real_t tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const real_t tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t tmp_coords_jac_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const real_t tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const real_t p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const real_t p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const real_t p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const real_t p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const real_t p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_1_WHITE_DOWN; + const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_4_WHITE_DOWN; + const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_7_WHITE_DOWN; + const real_t p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const real_t p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const real_t p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const real_t abs_det_jac_affine_WHITE_DOWN = abs(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + { + /* CellType.WHITE_DOWN */ + const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_DOWN [] = {((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555594)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1) + { + const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 5; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_12; + const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_12; + const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_12; + const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMat_0_0 = q_acc_0_0; + const real_t elMat_0_1 = q_acc_0_1; + const real_t elMat_0_2 = q_acc_0_2; + const real_t elMat_0_3 = q_acc_0_3; + const real_t elMat_0_4 = q_acc_0_4; + const real_t elMat_0_5 = q_acc_0_5; + const real_t elMat_0_6 = q_acc_0_6; + const real_t elMat_0_7 = q_acc_0_7; + const real_t elMat_0_8 = q_acc_0_8; + const real_t elMat_0_9 = q_acc_0_9; + const real_t elMat_1_0 = q_acc_1_0; + const real_t elMat_1_1 = q_acc_1_1; + const real_t elMat_1_2 = q_acc_1_2; + const real_t elMat_1_3 = q_acc_1_3; + const real_t elMat_1_4 = q_acc_1_4; + const real_t elMat_1_5 = q_acc_1_5; + const real_t elMat_1_6 = q_acc_1_6; + const real_t elMat_1_7 = q_acc_1_7; + const real_t elMat_1_8 = q_acc_1_8; + const real_t elMat_1_9 = q_acc_1_9; + const real_t elMat_2_0 = q_acc_2_0; + const real_t elMat_2_1 = q_acc_2_1; + const real_t elMat_2_2 = q_acc_2_2; + const real_t elMat_2_3 = q_acc_2_3; + const real_t elMat_2_4 = q_acc_2_4; + const real_t elMat_2_5 = q_acc_2_5; + const real_t elMat_2_6 = q_acc_2_6; + const real_t elMat_2_7 = q_acc_2_7; + const real_t elMat_2_8 = q_acc_2_8; + const real_t elMat_2_9 = q_acc_2_9; + const real_t elMat_3_0 = q_acc_3_0; + const real_t elMat_3_1 = q_acc_3_1; + const real_t elMat_3_2 = q_acc_3_2; + const real_t elMat_3_3 = q_acc_3_3; + const real_t elMat_3_4 = q_acc_3_4; + const real_t elMat_3_5 = q_acc_3_5; + const real_t elMat_3_6 = q_acc_3_6; + const real_t elMat_3_7 = q_acc_3_7; + const real_t elMat_3_8 = q_acc_3_8; + const real_t elMat_3_9 = q_acc_3_9; + + std::vector< uint_t > _data_rowIdx( 4 ); + std::vector< uint_t > _data_colIdx( 10 ); + std::vector< real_t > _data_mat( 40 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1])); + _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_0_4)); + _data_mat[5] = ((real_t)(elMat_0_5)); + _data_mat[6] = ((real_t)(elMat_0_6)); + _data_mat[7] = ((real_t)(elMat_0_7)); + _data_mat[8] = ((real_t)(elMat_0_8)); + _data_mat[9] = ((real_t)(elMat_0_9)); + _data_mat[10] = ((real_t)(elMat_1_0)); + _data_mat[11] = ((real_t)(elMat_1_1)); + _data_mat[12] = ((real_t)(elMat_1_2)); + _data_mat[13] = ((real_t)(elMat_1_3)); + _data_mat[14] = ((real_t)(elMat_1_4)); + _data_mat[15] = ((real_t)(elMat_1_5)); + _data_mat[16] = ((real_t)(elMat_1_6)); + _data_mat[17] = ((real_t)(elMat_1_7)); + _data_mat[18] = ((real_t)(elMat_1_8)); + _data_mat[19] = ((real_t)(elMat_1_9)); + _data_mat[20] = ((real_t)(elMat_2_0)); + _data_mat[21] = ((real_t)(elMat_2_1)); + _data_mat[22] = ((real_t)(elMat_2_2)); + _data_mat[23] = ((real_t)(elMat_2_3)); + _data_mat[24] = ((real_t)(elMat_2_4)); + _data_mat[25] = ((real_t)(elMat_2_5)); + _data_mat[26] = ((real_t)(elMat_2_6)); + _data_mat[27] = ((real_t)(elMat_2_7)); + _data_mat[28] = ((real_t)(elMat_2_8)); + _data_mat[29] = ((real_t)(elMat_2_9)); + _data_mat[30] = ((real_t)(elMat_3_0)); + _data_mat[31] = ((real_t)(elMat_3_1)); + _data_mat[32] = ((real_t)(elMat_3_2)); + _data_mat[33] = ((real_t)(elMat_3_3)); + _data_mat[34] = ((real_t)(elMat_3_4)); + _data_mat[35] = ((real_t)(elMat_3_5)); + _data_mat[36] = ((real_t)(elMat_3_6)); + _data_mat[37] = ((real_t)(elMat_3_7)); + _data_mat[38] = ((real_t)(elMat_3_8)); + _data_mat[39] = ((real_t)(elMat_3_9)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + const real_t tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const real_t p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const real_t p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const real_t p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const real_t p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const real_t p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const real_t p_affine_const_3_0_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_coords_jac_1_BLUE_UP; + const real_t p_affine_const_3_1_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_coords_jac_2_BLUE_UP; + const real_t p_affine_const_3_2_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_coords_jac_3_BLUE_UP; + const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const real_t abs_det_jac_affine_BLUE_UP = abs(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + { + /* CellType.BLUE_UP */ + const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_UP [] = {((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555594)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 5; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_12; + const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_12; + const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_12; + const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMat_0_0 = q_acc_0_0; + const real_t elMat_0_1 = q_acc_0_1; + const real_t elMat_0_2 = q_acc_0_2; + const real_t elMat_0_3 = q_acc_0_3; + const real_t elMat_0_4 = q_acc_0_4; + const real_t elMat_0_5 = q_acc_0_5; + const real_t elMat_0_6 = q_acc_0_6; + const real_t elMat_0_7 = q_acc_0_7; + const real_t elMat_0_8 = q_acc_0_8; + const real_t elMat_0_9 = q_acc_0_9; + const real_t elMat_1_0 = q_acc_1_0; + const real_t elMat_1_1 = q_acc_1_1; + const real_t elMat_1_2 = q_acc_1_2; + const real_t elMat_1_3 = q_acc_1_3; + const real_t elMat_1_4 = q_acc_1_4; + const real_t elMat_1_5 = q_acc_1_5; + const real_t elMat_1_6 = q_acc_1_6; + const real_t elMat_1_7 = q_acc_1_7; + const real_t elMat_1_8 = q_acc_1_8; + const real_t elMat_1_9 = q_acc_1_9; + const real_t elMat_2_0 = q_acc_2_0; + const real_t elMat_2_1 = q_acc_2_1; + const real_t elMat_2_2 = q_acc_2_2; + const real_t elMat_2_3 = q_acc_2_3; + const real_t elMat_2_4 = q_acc_2_4; + const real_t elMat_2_5 = q_acc_2_5; + const real_t elMat_2_6 = q_acc_2_6; + const real_t elMat_2_7 = q_acc_2_7; + const real_t elMat_2_8 = q_acc_2_8; + const real_t elMat_2_9 = q_acc_2_9; + const real_t elMat_3_0 = q_acc_3_0; + const real_t elMat_3_1 = q_acc_3_1; + const real_t elMat_3_2 = q_acc_3_2; + const real_t elMat_3_3 = q_acc_3_3; + const real_t elMat_3_4 = q_acc_3_4; + const real_t elMat_3_5 = q_acc_3_5; + const real_t elMat_3_6 = q_acc_3_6; + const real_t elMat_3_7 = q_acc_3_7; + const real_t elMat_3_8 = q_acc_3_8; + const real_t elMat_3_9 = q_acc_3_9; + + std::vector< uint_t > _data_rowIdx( 4 ); + std::vector< uint_t > _data_colIdx( 10 ); + std::vector< real_t > _data_mat( 40 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_0_4)); + _data_mat[5] = ((real_t)(elMat_0_5)); + _data_mat[6] = ((real_t)(elMat_0_6)); + _data_mat[7] = ((real_t)(elMat_0_7)); + _data_mat[8] = ((real_t)(elMat_0_8)); + _data_mat[9] = ((real_t)(elMat_0_9)); + _data_mat[10] = ((real_t)(elMat_1_0)); + _data_mat[11] = ((real_t)(elMat_1_1)); + _data_mat[12] = ((real_t)(elMat_1_2)); + _data_mat[13] = ((real_t)(elMat_1_3)); + _data_mat[14] = ((real_t)(elMat_1_4)); + _data_mat[15] = ((real_t)(elMat_1_5)); + _data_mat[16] = ((real_t)(elMat_1_6)); + _data_mat[17] = ((real_t)(elMat_1_7)); + _data_mat[18] = ((real_t)(elMat_1_8)); + _data_mat[19] = ((real_t)(elMat_1_9)); + _data_mat[20] = ((real_t)(elMat_2_0)); + _data_mat[21] = ((real_t)(elMat_2_1)); + _data_mat[22] = ((real_t)(elMat_2_2)); + _data_mat[23] = ((real_t)(elMat_2_3)); + _data_mat[24] = ((real_t)(elMat_2_4)); + _data_mat[25] = ((real_t)(elMat_2_5)); + _data_mat[26] = ((real_t)(elMat_2_6)); + _data_mat[27] = ((real_t)(elMat_2_7)); + _data_mat[28] = ((real_t)(elMat_2_8)); + _data_mat[29] = ((real_t)(elMat_2_9)); + _data_mat[30] = ((real_t)(elMat_3_0)); + _data_mat[31] = ((real_t)(elMat_3_1)); + _data_mat[32] = ((real_t)(elMat_3_2)); + _data_mat[33] = ((real_t)(elMat_3_3)); + _data_mat[34] = ((real_t)(elMat_3_4)); + _data_mat[35] = ((real_t)(elMat_3_5)); + _data_mat[36] = ((real_t)(elMat_3_6)); + _data_mat[37] = ((real_t)(elMat_3_7)); + _data_mat[38] = ((real_t)(elMat_3_8)); + _data_mat[39] = ((real_t)(elMat_3_9)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + const real_t tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const real_t tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const real_t tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const real_t p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const real_t p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const real_t p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const real_t p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const real_t p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const real_t p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const real_t p_affine_const_2_0_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_coords_jac_5_BLUE_DOWN; + const real_t p_affine_const_2_1_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_coords_jac_7_BLUE_DOWN; + const real_t p_affine_const_2_2_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_coords_jac_9_BLUE_DOWN; + const real_t p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const real_t p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const real_t p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const real_t abs_det_jac_affine_BLUE_DOWN = abs(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + { + /* CellType.BLUE_DOWN */ + const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_DOWN [] = {((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555594)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 5; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_12; + const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_12; + const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_12; + const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMat_0_0 = q_acc_0_0; + const real_t elMat_0_1 = q_acc_0_1; + const real_t elMat_0_2 = q_acc_0_2; + const real_t elMat_0_3 = q_acc_0_3; + const real_t elMat_0_4 = q_acc_0_4; + const real_t elMat_0_5 = q_acc_0_5; + const real_t elMat_0_6 = q_acc_0_6; + const real_t elMat_0_7 = q_acc_0_7; + const real_t elMat_0_8 = q_acc_0_8; + const real_t elMat_0_9 = q_acc_0_9; + const real_t elMat_1_0 = q_acc_1_0; + const real_t elMat_1_1 = q_acc_1_1; + const real_t elMat_1_2 = q_acc_1_2; + const real_t elMat_1_3 = q_acc_1_3; + const real_t elMat_1_4 = q_acc_1_4; + const real_t elMat_1_5 = q_acc_1_5; + const real_t elMat_1_6 = q_acc_1_6; + const real_t elMat_1_7 = q_acc_1_7; + const real_t elMat_1_8 = q_acc_1_8; + const real_t elMat_1_9 = q_acc_1_9; + const real_t elMat_2_0 = q_acc_2_0; + const real_t elMat_2_1 = q_acc_2_1; + const real_t elMat_2_2 = q_acc_2_2; + const real_t elMat_2_3 = q_acc_2_3; + const real_t elMat_2_4 = q_acc_2_4; + const real_t elMat_2_5 = q_acc_2_5; + const real_t elMat_2_6 = q_acc_2_6; + const real_t elMat_2_7 = q_acc_2_7; + const real_t elMat_2_8 = q_acc_2_8; + const real_t elMat_2_9 = q_acc_2_9; + const real_t elMat_3_0 = q_acc_3_0; + const real_t elMat_3_1 = q_acc_3_1; + const real_t elMat_3_2 = q_acc_3_2; + const real_t elMat_3_3 = q_acc_3_3; + const real_t elMat_3_4 = q_acc_3_4; + const real_t elMat_3_5 = q_acc_3_5; + const real_t elMat_3_6 = q_acc_3_6; + const real_t elMat_3_7 = q_acc_3_7; + const real_t elMat_3_8 = q_acc_3_8; + const real_t elMat_3_9 = q_acc_3_9; + + std::vector< uint_t > _data_rowIdx( 4 ); + std::vector< uint_t > _data_colIdx( 10 ); + std::vector< real_t > _data_mat( 40 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_0_4)); + _data_mat[5] = ((real_t)(elMat_0_5)); + _data_mat[6] = ((real_t)(elMat_0_6)); + _data_mat[7] = ((real_t)(elMat_0_7)); + _data_mat[8] = ((real_t)(elMat_0_8)); + _data_mat[9] = ((real_t)(elMat_0_9)); + _data_mat[10] = ((real_t)(elMat_1_0)); + _data_mat[11] = ((real_t)(elMat_1_1)); + _data_mat[12] = ((real_t)(elMat_1_2)); + _data_mat[13] = ((real_t)(elMat_1_3)); + _data_mat[14] = ((real_t)(elMat_1_4)); + _data_mat[15] = ((real_t)(elMat_1_5)); + _data_mat[16] = ((real_t)(elMat_1_6)); + _data_mat[17] = ((real_t)(elMat_1_7)); + _data_mat[18] = ((real_t)(elMat_1_8)); + _data_mat[19] = ((real_t)(elMat_1_9)); + _data_mat[20] = ((real_t)(elMat_2_0)); + _data_mat[21] = ((real_t)(elMat_2_1)); + _data_mat[22] = ((real_t)(elMat_2_2)); + _data_mat[23] = ((real_t)(elMat_2_3)); + _data_mat[24] = ((real_t)(elMat_2_4)); + _data_mat[25] = ((real_t)(elMat_2_5)); + _data_mat[26] = ((real_t)(elMat_2_6)); + _data_mat[27] = ((real_t)(elMat_2_7)); + _data_mat[28] = ((real_t)(elMat_2_8)); + _data_mat[29] = ((real_t)(elMat_2_9)); + _data_mat[30] = ((real_t)(elMat_3_0)); + _data_mat[31] = ((real_t)(elMat_3_1)); + _data_mat[32] = ((real_t)(elMat_3_2)); + _data_mat[33] = ((real_t)(elMat_3_3)); + _data_mat[34] = ((real_t)(elMat_3_4)); + _data_mat[35] = ((real_t)(elMat_3_5)); + _data_mat[36] = ((real_t)(elMat_3_6)); + _data_mat[37] = ((real_t)(elMat_3_7)); + _data_mat[38] = ((real_t)(elMat_3_8)); + _data_mat[39] = ((real_t)(elMat_3_9)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + const real_t tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const real_t p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const real_t p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t p_affine_const_1_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t p_affine_const_1_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const real_t p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const real_t p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const real_t p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const real_t abs_det_jac_affine_GREEN_UP = abs(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + { + /* CellType.GREEN_UP */ + const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_UP [] = {((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555594)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 5; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_12; + const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_12; + const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_12; + const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMat_0_0 = q_acc_0_0; + const real_t elMat_0_1 = q_acc_0_1; + const real_t elMat_0_2 = q_acc_0_2; + const real_t elMat_0_3 = q_acc_0_3; + const real_t elMat_0_4 = q_acc_0_4; + const real_t elMat_0_5 = q_acc_0_5; + const real_t elMat_0_6 = q_acc_0_6; + const real_t elMat_0_7 = q_acc_0_7; + const real_t elMat_0_8 = q_acc_0_8; + const real_t elMat_0_9 = q_acc_0_9; + const real_t elMat_1_0 = q_acc_1_0; + const real_t elMat_1_1 = q_acc_1_1; + const real_t elMat_1_2 = q_acc_1_2; + const real_t elMat_1_3 = q_acc_1_3; + const real_t elMat_1_4 = q_acc_1_4; + const real_t elMat_1_5 = q_acc_1_5; + const real_t elMat_1_6 = q_acc_1_6; + const real_t elMat_1_7 = q_acc_1_7; + const real_t elMat_1_8 = q_acc_1_8; + const real_t elMat_1_9 = q_acc_1_9; + const real_t elMat_2_0 = q_acc_2_0; + const real_t elMat_2_1 = q_acc_2_1; + const real_t elMat_2_2 = q_acc_2_2; + const real_t elMat_2_3 = q_acc_2_3; + const real_t elMat_2_4 = q_acc_2_4; + const real_t elMat_2_5 = q_acc_2_5; + const real_t elMat_2_6 = q_acc_2_6; + const real_t elMat_2_7 = q_acc_2_7; + const real_t elMat_2_8 = q_acc_2_8; + const real_t elMat_2_9 = q_acc_2_9; + const real_t elMat_3_0 = q_acc_3_0; + const real_t elMat_3_1 = q_acc_3_1; + const real_t elMat_3_2 = q_acc_3_2; + const real_t elMat_3_3 = q_acc_3_3; + const real_t elMat_3_4 = q_acc_3_4; + const real_t elMat_3_5 = q_acc_3_5; + const real_t elMat_3_6 = q_acc_3_6; + const real_t elMat_3_7 = q_acc_3_7; + const real_t elMat_3_8 = q_acc_3_8; + const real_t elMat_3_9 = q_acc_3_9; + + std::vector< uint_t > _data_rowIdx( 4 ); + std::vector< uint_t > _data_colIdx( 10 ); + std::vector< real_t > _data_mat( 40 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_0_4)); + _data_mat[5] = ((real_t)(elMat_0_5)); + _data_mat[6] = ((real_t)(elMat_0_6)); + _data_mat[7] = ((real_t)(elMat_0_7)); + _data_mat[8] = ((real_t)(elMat_0_8)); + _data_mat[9] = ((real_t)(elMat_0_9)); + _data_mat[10] = ((real_t)(elMat_1_0)); + _data_mat[11] = ((real_t)(elMat_1_1)); + _data_mat[12] = ((real_t)(elMat_1_2)); + _data_mat[13] = ((real_t)(elMat_1_3)); + _data_mat[14] = ((real_t)(elMat_1_4)); + _data_mat[15] = ((real_t)(elMat_1_5)); + _data_mat[16] = ((real_t)(elMat_1_6)); + _data_mat[17] = ((real_t)(elMat_1_7)); + _data_mat[18] = ((real_t)(elMat_1_8)); + _data_mat[19] = ((real_t)(elMat_1_9)); + _data_mat[20] = ((real_t)(elMat_2_0)); + _data_mat[21] = ((real_t)(elMat_2_1)); + _data_mat[22] = ((real_t)(elMat_2_2)); + _data_mat[23] = ((real_t)(elMat_2_3)); + _data_mat[24] = ((real_t)(elMat_2_4)); + _data_mat[25] = ((real_t)(elMat_2_5)); + _data_mat[26] = ((real_t)(elMat_2_6)); + _data_mat[27] = ((real_t)(elMat_2_7)); + _data_mat[28] = ((real_t)(elMat_2_8)); + _data_mat[29] = ((real_t)(elMat_2_9)); + _data_mat[30] = ((real_t)(elMat_3_0)); + _data_mat[31] = ((real_t)(elMat_3_1)); + _data_mat[32] = ((real_t)(elMat_3_2)); + _data_mat[33] = ((real_t)(elMat_3_3)); + _data_mat[34] = ((real_t)(elMat_3_4)); + _data_mat[35] = ((real_t)(elMat_3_5)); + _data_mat[36] = ((real_t)(elMat_3_6)); + _data_mat[37] = ((real_t)(elMat_3_7)); + _data_mat[38] = ((real_t)(elMat_3_8)); + _data_mat[39] = ((real_t)(elMat_3_9)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + const real_t tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t tmp_coords_jac_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const real_t tmp_coords_jac_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const real_t tmp_coords_jac_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const real_t tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const real_t tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const real_t tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const real_t tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const real_t tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const real_t tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const real_t p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const real_t p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const real_t p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const real_t p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const real_t p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const real_t p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const real_t p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const real_t p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const real_t p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const real_t abs_det_jac_affine_GREEN_DOWN = abs(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + { + /* CellType.GREEN_DOWN */ + const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_DOWN [] = {((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555594)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559))}; + + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) + for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) + for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_5 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const real_t k_dof_9 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + real_t q_acc_0_0 = 0.0; + real_t q_acc_0_1 = 0.0; + real_t q_acc_0_2 = 0.0; + real_t q_acc_0_3 = 0.0; + real_t q_acc_0_4 = 0.0; + real_t q_acc_0_5 = 0.0; + real_t q_acc_0_6 = 0.0; + real_t q_acc_0_7 = 0.0; + real_t q_acc_0_8 = 0.0; + real_t q_acc_0_9 = 0.0; + real_t q_acc_1_0 = 0.0; + real_t q_acc_1_1 = 0.0; + real_t q_acc_1_2 = 0.0; + real_t q_acc_1_3 = 0.0; + real_t q_acc_1_4 = 0.0; + real_t q_acc_1_5 = 0.0; + real_t q_acc_1_6 = 0.0; + real_t q_acc_1_7 = 0.0; + real_t q_acc_1_8 = 0.0; + real_t q_acc_1_9 = 0.0; + real_t q_acc_2_0 = 0.0; + real_t q_acc_2_1 = 0.0; + real_t q_acc_2_2 = 0.0; + real_t q_acc_2_3 = 0.0; + real_t q_acc_2_4 = 0.0; + real_t q_acc_2_5 = 0.0; + real_t q_acc_2_6 = 0.0; + real_t q_acc_2_7 = 0.0; + real_t q_acc_2_8 = 0.0; + real_t q_acc_2_9 = 0.0; + real_t q_acc_3_0 = 0.0; + real_t q_acc_3_1 = 0.0; + real_t q_acc_3_2 = 0.0; + real_t q_acc_3_3 = 0.0; + real_t q_acc_3_4 = 0.0; + real_t q_acc_3_5 = 0.0; + real_t q_acc_3_6 = 0.0; + real_t q_acc_3_7 = 0.0; + real_t q_acc_3_8 = 0.0; + real_t q_acc_3_9 = 0.0; + for (int64_t q = 0; q < 5; q += 1) + { + const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q]; + const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q]; + const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q]; + const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const real_t tmp_qloop_5 = tmp_qloop_4*2.0; + const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const real_t tmp_qloop_7 = tmp_qloop_6*2.0; + const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]); + const real_t tmp_qloop_9 = tmp_qloop_8*2.0; + const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2; + const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q]; + const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14]; + const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q]; + const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1]; + const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2]; + const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3]; + const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4]; + const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5]; + const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6]; + const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7]; + const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8]; + const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9]; + const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10]; + const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11]; + const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12]; + const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13]; + const real_t q_tmp_1_4 = tmp_qloop_12; + const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15]; + const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16]; + const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17]; + const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18]; + const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19]; + const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20]; + const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21]; + const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22]; + const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23]; + const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24]; + const real_t q_tmp_2_5 = tmp_qloop_12; + const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25]; + const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26]; + const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27]; + const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28]; + const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29]; + const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30]; + const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31]; + const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32]; + const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33]; + const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34]; + const real_t q_tmp_3_6 = tmp_qloop_12; + const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35]; + const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36]; + const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; + q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; + q_acc_0_3 = q_acc_0_3 + q_tmp_0_3; + q_acc_0_4 = q_acc_0_4 + q_tmp_0_4; + q_acc_0_5 = q_acc_0_5 + q_tmp_0_5; + q_acc_0_6 = q_acc_0_6 + q_tmp_0_6; + q_acc_0_7 = q_acc_0_7 + q_tmp_0_7; + q_acc_0_8 = q_acc_0_8 + q_tmp_0_8; + q_acc_0_9 = q_acc_0_9 + q_tmp_0_9; + q_acc_1_0 = q_acc_1_0 + q_tmp_1_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; + q_acc_1_3 = q_acc_1_3 + q_tmp_1_3; + q_acc_1_4 = q_acc_1_4 + q_tmp_1_4; + q_acc_1_5 = q_acc_1_5 + q_tmp_1_5; + q_acc_1_6 = q_acc_1_6 + q_tmp_1_6; + q_acc_1_7 = q_acc_1_7 + q_tmp_1_7; + q_acc_1_8 = q_acc_1_8 + q_tmp_1_8; + q_acc_1_9 = q_acc_1_9 + q_tmp_1_9; + q_acc_2_0 = q_acc_2_0 + q_tmp_2_0; + q_acc_2_1 = q_acc_2_1 + q_tmp_2_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; + q_acc_2_4 = q_acc_2_4 + q_tmp_2_4; + q_acc_2_5 = q_acc_2_5 + q_tmp_2_5; + q_acc_2_6 = q_acc_2_6 + q_tmp_2_6; + q_acc_2_7 = q_acc_2_7 + q_tmp_2_7; + q_acc_2_8 = q_acc_2_8 + q_tmp_2_8; + q_acc_2_9 = q_acc_2_9 + q_tmp_2_9; + q_acc_3_0 = q_acc_3_0 + q_tmp_3_0; + q_acc_3_1 = q_acc_3_1 + q_tmp_3_1; + q_acc_3_2 = q_acc_3_2 + q_tmp_3_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_3_4 = q_acc_3_4 + q_tmp_3_4; + q_acc_3_5 = q_acc_3_5 + q_tmp_3_5; + q_acc_3_6 = q_acc_3_6 + q_tmp_3_6; + q_acc_3_7 = q_acc_3_7 + q_tmp_3_7; + q_acc_3_8 = q_acc_3_8 + q_tmp_3_8; + q_acc_3_9 = q_acc_3_9 + q_tmp_3_9; + } + const real_t elMat_0_0 = q_acc_0_0; + const real_t elMat_0_1 = q_acc_0_1; + const real_t elMat_0_2 = q_acc_0_2; + const real_t elMat_0_3 = q_acc_0_3; + const real_t elMat_0_4 = q_acc_0_4; + const real_t elMat_0_5 = q_acc_0_5; + const real_t elMat_0_6 = q_acc_0_6; + const real_t elMat_0_7 = q_acc_0_7; + const real_t elMat_0_8 = q_acc_0_8; + const real_t elMat_0_9 = q_acc_0_9; + const real_t elMat_1_0 = q_acc_1_0; + const real_t elMat_1_1 = q_acc_1_1; + const real_t elMat_1_2 = q_acc_1_2; + const real_t elMat_1_3 = q_acc_1_3; + const real_t elMat_1_4 = q_acc_1_4; + const real_t elMat_1_5 = q_acc_1_5; + const real_t elMat_1_6 = q_acc_1_6; + const real_t elMat_1_7 = q_acc_1_7; + const real_t elMat_1_8 = q_acc_1_8; + const real_t elMat_1_9 = q_acc_1_9; + const real_t elMat_2_0 = q_acc_2_0; + const real_t elMat_2_1 = q_acc_2_1; + const real_t elMat_2_2 = q_acc_2_2; + const real_t elMat_2_3 = q_acc_2_3; + const real_t elMat_2_4 = q_acc_2_4; + const real_t elMat_2_5 = q_acc_2_5; + const real_t elMat_2_6 = q_acc_2_6; + const real_t elMat_2_7 = q_acc_2_7; + const real_t elMat_2_8 = q_acc_2_8; + const real_t elMat_2_9 = q_acc_2_9; + const real_t elMat_3_0 = q_acc_3_0; + const real_t elMat_3_1 = q_acc_3_1; + const real_t elMat_3_2 = q_acc_3_2; + const real_t elMat_3_3 = q_acc_3_3; + const real_t elMat_3_4 = q_acc_3_4; + const real_t elMat_3_5 = q_acc_3_5; + const real_t elMat_3_6 = q_acc_3_6; + const real_t elMat_3_7 = q_acc_3_7; + const real_t elMat_3_8 = q_acc_3_8; + const real_t elMat_3_9 = q_acc_3_9; + + std::vector< uint_t > _data_rowIdx( 4 ); + std::vector< uint_t > _data_colIdx( 10 ); + std::vector< real_t > _data_mat( 40 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_0_4)); + _data_mat[5] = ((real_t)(elMat_0_5)); + _data_mat[6] = ((real_t)(elMat_0_6)); + _data_mat[7] = ((real_t)(elMat_0_7)); + _data_mat[8] = ((real_t)(elMat_0_8)); + _data_mat[9] = ((real_t)(elMat_0_9)); + _data_mat[10] = ((real_t)(elMat_1_0)); + _data_mat[11] = ((real_t)(elMat_1_1)); + _data_mat[12] = ((real_t)(elMat_1_2)); + _data_mat[13] = ((real_t)(elMat_1_3)); + _data_mat[14] = ((real_t)(elMat_1_4)); + _data_mat[15] = ((real_t)(elMat_1_5)); + _data_mat[16] = ((real_t)(elMat_1_6)); + _data_mat[17] = ((real_t)(elMat_1_7)); + _data_mat[18] = ((real_t)(elMat_1_8)); + _data_mat[19] = ((real_t)(elMat_1_9)); + _data_mat[20] = ((real_t)(elMat_2_0)); + _data_mat[21] = ((real_t)(elMat_2_1)); + _data_mat[22] = ((real_t)(elMat_2_2)); + _data_mat[23] = ((real_t)(elMat_2_3)); + _data_mat[24] = ((real_t)(elMat_2_4)); + _data_mat[25] = ((real_t)(elMat_2_5)); + _data_mat[26] = ((real_t)(elMat_2_6)); + _data_mat[27] = ((real_t)(elMat_2_7)); + _data_mat[28] = ((real_t)(elMat_2_8)); + _data_mat[29] = ((real_t)(elMat_2_9)); + _data_mat[30] = ((real_t)(elMat_3_0)); + _data_mat[31] = ((real_t)(elMat_3_1)); + _data_mat[32] = ((real_t)(elMat_3_2)); + _data_mat[33] = ((real_t)(elMat_3_3)); + _data_mat[34] = ((real_t)(elMat_3_4)); + _data_mat[35] = ((real_t)(elMat_3_5)); + _data_mat[36] = ((real_t)(elMat_3_6)); + _data_mat[37] = ((real_t)(elMat_3_7)); + _data_mat[38] = ((real_t)(elMat_3_8)); + _data_mat[39] = ((real_t)(elMat_3_9)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg